このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
この記事では、Go 用 Azure Storage クライアント モジュールを使ってコンテナーを作成する方法について説明します。 Azure Storage 内の BLOB はコンテナーにまとめられます。 BLOB をアップロードする前には、まずコンテナーを作成する必要があります。
既存のプロジェクトがない場合、Go 用 Azure Blob Storage クライアント モジュールを操作するためのプロジェクトを設定する方法についてこのセクションで説明します。 この手順には、モジュールのインストール、import
パスの追加、認可されているクライアント オブジェクトの作成が含まれます。 詳細については、Azure Blob Storage および Go の概要に関するページを参照してください。
次のコマンドを使用して、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
コード ファイルに、次のインポートを追加します。
import ( "github.com/Azure/azure-sdk-for-go/sdk/azidentity""github.com/Azure/azure-sdk-for-go/sdk/storage/azblob")
これらのインポート パスは、作業を始めるために最低限必要なものを表します。 この記事の一部のコード例では、追加のインポート パスが必要な場合があります。 具体的な詳細と使用例についてはコード サンプルに関するページを参照してください。
アプリを Blob Storage に接続するには、azblob.NewClient を使用してクライアント オブジェクトを作成します。 次の例では、認可のためにDefaultAzureCredential
を使用してクライアント オブジェクトを作成する方法を示します。
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}
認可メカニズムには、コンテナーを作成するために必要なアクセス許可が必要です。 Microsoft Entra ID を使用した認可 (推奨) には、Azure RBAC 組み込みロールのストレージ BLOB データ共同作成者以上が必要です。 詳細については、「コンテナーの作成 (REST API)」に関する認可ガイダンスを参照してください。
コンテナー名は、コンテナーまたはその BLOB をアドレス指定するために使用される一意の URI の一部になるため、有効な DNS 名である必要があります。 コンテナーに名前を付けるときは、次の規則に従います。
コンテナー リソースの URI は、次のように書式設定されます。
https://my-account-name.blob.core.windows.net/my-container-name
コンテナーを作成するには、次のメソッドを呼び出します。
コンテナーは、ストレージ アカウントの直下に作成されます。 コンテナーを別のコンテナーの下に入れ子にすることはできません。 同じ名前のコンテナーが既に存在する場合、例外がスローされます。
次の例は、コンテナーを作成する方法を示しています。
func createContainer(client *azblob.Client, containerName string) { // Create a container _, err := client.CreateContainer(context.TODO(), containerName, nil) handleError(err)}
ルート コンテナーは、ストレージ アカウントの既定のコンテナーとして機能します。 各ストレージ アカウントには、$root. という名前のルート コンテナーを 1 つ含めることができます。 ルート コンテナーは明示的に作成または削除する必要があります。
ルート コンテナーに格納されている BLOB は、ルート コンテナー名を指定せずに参照できます。 ルート コンテナーを使用すると、ストレージ アカウント階層の最上位レベルにある BLOB を参照できます。 たとえば、ルート コンテナー内の BLOB は、次の方法で参照できます。
https://<storage-account-name>.blob.core.windows.net/default.html
次の例では、ストレージ アカウントにコンテナーがまだ存在しない場合に作成します。
func createRootContainer(client *azblob.Client) { // Create root container _, err := client.CreateContainer(context.TODO(), "$root", nil) handleError(err)}
Note
このガイドのコード サンプルは、Azure Blob Storage と Go の使用を開始するのに役立つことを目的としています。 エラー処理とContext
の値は、アプリケーションのニーズに合わせて変更する必要があります。
Go 用 Azure Blob Storage クライアント モジュールを使用してコンテナーを作成する方法の詳細については、次のリソースを参照してください。
Azure SDK for Go には Azure REST API に基づいて構築されたライブラリが含まれるため、使い慣れた Go パラダイムを通じて REST API 操作を実施できます。 コンテナーを作成するためのクライアント ライブラリ メソッドは、次の REST API 操作を使用します。
このページはお役に立ちましたか?
このページはお役に立ちましたか?