Azure Blob Storage 및 Go 시작
이 문서에서는 Go용 Azure Blob Storage 클라이언트 모듈을 사용하여 Azure Blob Storage에 연결하는 방법을 보여 줍니다. 연결되면 개발자 가이드를 사용하여 Blob Storage 서비스의 컨테이너, Blob 및 기능에서 코드가 작동하는 방법을 알아봅니다.
전체 예제로 시작하려면 빠른 시작: Go용 Azure Blob Storage 클라이언트 라이브러리를 참조 하세요.
API 참조 설명서 | 라이브러리 소스 코드 | 패키지(pkg.go.dev)
필수 조건
- Azure 구독 - 체험 구독 만들기
- Azure Storage 계정 - 스토리지 계정 만들기
- Go 1.18+
프로젝트 설정
이 섹션에서는 Go용 Azure Blob Storage 클라이언트 모듈을 사용할 프로젝트를 준비하는 방법을 안내합니다.
GOPATH에서 다음 명령을 사용하여 azblob 모듈을 설치합니다.
go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
Microsoft Entra ID로 인증(권장)하려면 다음 명령을 사용하여 azidentity
모듈을 설치합니다.
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
그런 다음 코드 파일을 열고 필요한 가져오기 경로를 추가합니다. 이 예제에서는 .go 파일에 다음을 추가합니다.
import (
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
Blob 클라이언트 모듈 정보:
- azblob: 서비스, 컨테이너 및 Blob에서 작동하는 데 사용할 수 있는 메서드를 포함합니다.
액세스 권한 부여 및 Blob Storage에 연결
앱을 Blob Storage에 연결하려면 azblob.NewClient를 사용하여 클라이언트 개체를 만듭니다. 이 개체는 스토리지 계정 수준에서 데이터 리소스와 상호 작용하기 위한 시작점입니다. 이를 사용하여 스토리지 계정 및 해당 컨테이너에서 작업할 수 있습니다.
모범 사례를 포함하여 클라이언트 개체 만들기 및 관리에 대한 자세한 내용은 데이터 리소스와 상호 작용하는 클라이언트 개체 만들기 및 관리를 참조하세요.
Microsoft Entra 권한 부여 토큰(권장), 계정 액세스 키 또는 SAS(공유 액세스 서명)를 사용하여 클라이언트 개체에 권한을 부여할 수 있습니다.
Microsoft Entra ID로 권한을 부여하려면 보안 주체를 사용해야 합니다. 다음 문서에서는 다양한 인증 시나리오에 대한 지침을 제공합니다.
DefaultAzureCredential을 사용하여 액세스 권한 부여
액세스 권한을 부여하고 Blob Storage에 연결하는 쉽고 안전한 방법은 DefaultAzureCredential 인스턴스를 만들어 OAuth 토큰을 가져오는 것입니다. 그런 다음 해당 자격 증명을 사용하여 azblob.NewClient를 사용하여 클라이언트 개체를 만들 수 있습니다.
func getServiceClientTokenCredential(accountURL string) *azblob.Client {
// Create a new service client with token credential
credential, err := azidentity.NewDefaultAzureCredential(nil)
handleError(err)
client, err := azblob.NewClient(accountURL, credential, nil)
handleError(err)
return client
}
앱 빌드
Azure Blob Storage 데이터 리소스를 사용하는 앱을 빌드할 때 코드는 주로 스토리지 계정, 컨테이너 및 Blob의 세 가지 리소스 종류와 상호 작용합니다. 이러한 리소스 종류, 서로 상호 작용하는 방법 및 앱이 리소스와 상호 작용하는 방법에 대한 자세한 내용은 앱이 Blob Storage 데이터 리소스와 상호 작용하는 방법 이해를 참조하세요.
다음 가이드에서는 Go용 Azure Blob Storage 클라이언트 모듈을 사용하여 데이터에 액세스하고 특정 작업을 수행하는 방법을 보여 줍니다.
가이드 | 설명 |
---|---|
재시도 정책 구성 | 클라이언트 작업에 대한 다시 시도 정책을 구현합니다. |
Blob 복사 | 한 위치에서 다른 위치로 Blob을 복사합니다. |
컨테이너 만들기 | 컨테이너를 만듭니다. |
Blob 삭제 및 복원 | Blob을 삭제하고 일시 삭제가 사용하도록 설정된 경우 삭제된 Blob을 복원합니다. |
컨테이너 삭제 및 복원 | 컨테이너를 삭제하고 일시 삭제가 사용하도록 설정된 경우 삭제된 컨테이너를 복원합니다. |
Blob 다운로드 | 문자열, 스트림 및 파일 경로를 사용하여 Blob을 다운로드합니다. |
태그를 사용하여 Blob 찾기 | 태그를 설정 및 검색하고 태그를 사용하여 Blob을 찾습니다. |
Blob 나열 | 다양한 방법으로 Blob을 나열합니다. |
컨테이너 나열 | 계정의 컨테이너와 목록을 사용자 지정하는 데 사용할 수 있는 다양한 옵션을 나열합니다. |
속성 및 메타데이터(blob) 관리 | 컨테이너 속성 및 메타데이터를 관리합니다. |
속성 및 메타데이터(컨테이너) 관리 | 컨테이너 속성 및 메타데이터를 관리합니다. |
Blob 업로드 | 문자열, 스트림, 파일 경로 및 기타 방법을 사용하여 Blob을 업로드하는 방법을 알아봅니다. |
참고 항목
이 가이드의 코드 샘플은 Azure Blob Storage 및 Go를 시작하는 데 도움을 주기 위한 것입니다. 애플리케이션의 요구 사항에 맞게 오류 처리 및 Context
값을 수정해야 합니다.