次の方法で共有


SDK とツールを使用して Azurite に接続する

Azure Storage SDK または Azure Storage Explorer などのツールから Azurite に接続できます。 認証が必要であり、Azurite では OAuth、共有キー、および Shared Access Signature (SAS) による承認がサポートされています。 Azurite では、パブリック コンテナーへの匿名アクセスもサポートされています。

この記事では、Azure Storage SDK とツールを使用して Azurite エミュレーターに接続する方法について説明します。 Azurite をインストールして実行する方法については、「 Azurite のインストールと実行」を参照してください。Azure SDK での Azurite の使用の詳細については、 Azure SDK に関するページを参照してください。

アプリケーションまたはツールを Azurite に接続する

アプリケーションまたはツールを Azurite に接続するには、次の方法を使用できます。

既知のストレージ アカウントとキーを使用する

Azurite は、従来の Azure Storage Emulator で使用されるのと同じ既知のアカウントとキーを受け入れます。

  • アカウント名: devstoreaccount1
  • アカウント キー: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==

カスタム ストレージ アカウントとキーを使用する

Azurite では、 AZURITE_ACCOUNTS 環境変数を次の形式で設定することで、カスタム ストレージ アカウント名とキーをサポートしています: account1:key1[:key2];account2:key1[:key2];...

たとえば、次の 1 つのキーを持つカスタム ストレージ アカウントを使用します。

set AZURITE_ACCOUNTS="account1:key1"
export AZURITE_ACCOUNTS="account1:key1"

アカウント キーは base64 でエンコードされた文字列である必要があります。

または、それぞれ 2 つのキーを持つ複数のストレージ アカウントを使用します。

set AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"
export AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"

Azurite は、既定で 1 分ごとに環境変数からカスタム アカウント名とキーを更新します。 この機能を使用すると、Azurite を再起動せずに、アカウント キーを動的にローテーションしたり、新しいストレージ アカウントを追加したりできます。

カスタム ストレージ アカウントを設定すると、既定の devstoreaccount1 ストレージ アカウントは無効になります。 カスタム ストレージ アカウントを有効にした後も devstoreaccount1 を引き続き使用する場合は、 AZURITE_ACCOUNTS 環境変数のカスタム アカウントとキーの一覧に追加する必要があります。

アカウント キーは base64 でエンコードされた文字列である必要があります。

接続文字列の使用

アプリケーションから Azurite に接続する最も簡単な方法は、ショートカット UseDevelopmentStorage=true を参照する接続文字列をアプリケーションの構成ファイルで構成することです。 app.config ファイル内の接続文字列の例を次に示します。

<appSettings>
  <add key="StorageConnectionString" value="UseDevelopmentStorage=true" />
</appSettings>
HTTP 接続文字列

Azure CLI 2.0 や Storage Explorer などの Azure SDK またはツールに次の接続文字列を渡すことができます。

完全な接続文字列は次のとおりです。

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;

特定のサービスに接続するには、次の接続文字列を使用できます。

Blob Storage にのみ接続するには、接続文字列は次のとおりです。

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;

HTTPS 接続文字列

完全な HTTPS 接続文字列は次のとおりです。

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;TableEndpoint=https://127.0.0.1:10002/devstoreaccount1;

特定のサービスに接続するには、次の接続文字列を使用できます。

BLOB サービスのみを使用するには、HTTPS 接続文字列は次のとおりです。

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;

dotnet dev-certsを使用して自己署名証明書を生成した場合は、次の接続文字列を使用します。

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://localhost:10000/devstoreaccount1;QueueEndpoint=https://localhost:10001/devstoreaccount1;TableEndpoint=https://localhost:10002/devstoreaccount1;

カスタム ストレージ アカウントとキーを使用する場合は、接続文字列を更新します。

詳細については、「 Azure Storage 接続文字列の構成」を参照してください。

Azure SDK を使用して接続する

Azure SDK を使用して Azurite に接続するには、次の手順に従います。

  • --oauth スイッチを使用して Azurite の OAuth 認証を有効にします。 詳細については、 OAuth の構成に関するページを参照してください。
  • --certオプションと--key/--pwdオプションを使用して自己署名証明書を使用して HTTPS を有効にします。 証明書の生成の詳細については、 証明書の構成 (HTTPS) と HTTPSセットアップに関するページを参照してください。

証明書が配置されたら、次のコマンド ライン オプションを使用して Azurite を起動します。

azurite --oauth basic --cert cert-name.pem --key cert-name-key.pem

cert-name.pemcertname-key.pemを証明書とキー ファイルの名前に置き換えます。 PFX 証明書を使用している場合は、--key オプションの代わりに --pwd オプションを使用します。

Blob Storage リソースを操作するには、 BlobContainerClientBlobServiceClient、または BlobClientをインスタンス化できます。

次の例は、DefaultAzureCredential、接続文字列、共有キーの 3 つの異なる承認メカニズムを使用して、BlobContainerClient オブジェクトを承認する方法を示しています。 DefaultAzureCredential はベアラー トークンベースの認証メカニズムを提供し、認証に使用される資格情報の種類のチェーンを使用します。 認証されると、この資格情報はクライアントのインスタンス化の一部として OAuth トークンを提供します。 詳細については、 DefaultAzureCredential クラスリファレンスを参照してください

// With container URL and DefaultAzureCredential
var client = new BlobContainerClient(
    new Uri("https://127.0.0.1:10000/devstoreaccount1/container-name"), new DefaultAzureCredential()
  );

// With connection string
var client = new BlobContainerClient(
    "DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;", "container-name"
  );

// With account name and key
var client = new BlobContainerClient(
    new Uri("https://127.0.0.1:10000/devstoreaccount1/container-name"),
    new StorageSharedKeyCredential("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==")
  );

Azure Storage Explorer を接続する

Storage Explorer を使用すると、HTTP または HTTPS プロトコルを使用して Azurite に格納されているデータを表示できます。

HTTP を使用して Azurite に接続する

Storage Explorer で、次の手順に従って Azurite に接続します。

  1. [アカウントの管理] アイコンを選択する
  2. [ アカウントの追加] を選択する
  3. [ ローカル エミュレーターにアタッチ] を選択する
  4. [次へ] を選択します
  5. [ 表示名 ] フィールドを任意の名前に編集する
  6. [次へ] をもう一度選択します
  7. [接続] を選択する

HTTPS を使用して Azurite に接続する

既定では、Storage Explorer は自己署名証明書を使用する HTTPS エンドポイントを開きません。 HTTPS で Azurite を実行している場合は、自己署名証明書を使用している可能性があります。 Storage Explorer で、[->SSL 証明書の編集] -> [証明書のインポート] ダイアログを使用して SSL証明書をインポートします。

証明書をストレージ エクスプローラーにインポートする

  1. ローカル コンピューターで証明書を見つけます。
  2. Storage Explorer で、[ 編集] ->SSL 証明書 ->[証明書のインポート ] に移動し、証明書をインポートします。

証明書をインポートしない場合は、次のエラーが表示されます。

unable to verify the first certificate または self signed certificate in chain

HTTPS 接続文字列を使用して Azurite を追加する

次の手順に従って、Azurite HTTPS を Storage Explorer に追加します。

  1. [エクスプローラーの切り替え] を選択する
  2. [ローカル] と [アタッチ済み] の選択
  3. ストレージ アカウントを右クリックし、[Azure Storage に接続] を選択します。
  4. [接続文字列を使用する] を選択する
  5. [次へ] を選択します。
  6. [表示名] フィールドに値を入力します。
  7. このドキュメントの前のセクションの HTTPS 接続文字列 を入力します
  8. [次へ] を選択します
  9. [接続] を選択する

次のステップ