Azure Stack Hub ストレージの開発ツールの概要

Microsoft Azure Stack Hub には、Blob Storage、Table Storage、Queue Storage など一連のストレージ サービスがあります。

この記事は、Azure Stack Hub ストレージの開発ツールを初めて使うときのガイドとしてご利用ください。 より詳細な情報とサンプル コードについては、該当する Azure ストレージのチュートリアルでご覧いただけます。

Note

Azure Stack Hub ストレージと Azure ストレージには、プラットフォームごとの固有の要件などの違いがあります。 たとえば、Azure Stack Hub には、クライアント ライブラリとエンドポイント サフィックスの特定の要件があります。 詳しくは、「Azure Stack Hub ストレージ:違いと考慮事項」をご覧ください。

Azure のクライアント ライブラリ

したがって、ストレージのクライアント ライブラリについて、REST API と互換性のあるバージョンを把握しておいてください。 また、コード内で Azure Stack Hub エンドポイントも指定する必要があります。

2301 以降の更新プログラム

クライアント ライブラリ Azure Stack Hub でサポートされるバージョン Link エンドポイントの指定
.NET 共通: 12.9.0
BLOB: 12.10.0
キュー: 12.8.0
NuGet パッケージ:
共通: https://www.nuget.org/packages/Azure.Storage.common/12.9.0
BLOB: https://www.nuget.org/packages/Azure.Storage.Blobs/12.10.0
キュー: https://www.nuget.org/packages/Azure.Storage.queues/12.8.0

GitHub リリース:
共通: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.9.0/sdk/storage/Azure.Storage.Common
BLOB: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.10.0/sdk/storage/Azure.Storage.Blobs
キュー: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.8.0/sdk/storage/Azure.Storage.Queues
app.config ファイル
Java 共通: 12.12.0
BLOB: 12.14.3
キュー: 12.11.3
Maven パッケージ:
共通: https://mvnrepository.com/artifact/com.azure/azure-storage-common/12.12.0
BLOB: https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.14.3
キュー: https://mvnrepository.com/artifact/com.azure/azure-storage-queue/12.11.3

GitHub リリース:
共通: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-common_12.12.0/sdk/storage/azure-storage-common
BLOB: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-blob_12.14.3/sdk/storage/azure-storage-blob
キュー: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.11.3/sdk/storage/azure-storage-queue
接続文字列の設定
Node.js 2.8.3 NPM リンク:
https://www.npmjs.com/package/azure-storage
(次のコマンドを実行: npm install azure-storage@2.8.3)

GitHub リリース:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
サービス インスタンスの宣言
C++ BLOB: 12.2.0
キュー: 12.0.0
GitHub リリース:
BLOB: https://github.com/Azure/azure-sdk-for-cpp/tree/azure-storage-blobs_12.2.0
キュー: https://github.com/Azure/azure-sdk-for-cpp/tree/azure-storage-queues_12.0.0
接続文字列の設定
PHP 1.2.0 GitHub リリース:
共通: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
BLOB: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
キュー:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
テーブル: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Composer 経由でインストールする (詳細については下記参照)
接続文字列の設定
Python BLOB: 12.9.0
キュー: 12.1.6
GitHub リリース:
BLOB:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-blob_12.9.0/sdk/storage/azure-storage-blob
キュー:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-queue_12.1.6/sdk/storage/azure-storage-queue
サービス インスタンスの宣言
Ruby 1.0.1 RubyGems パッケージ:
共通:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
BLOB: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
キュー: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
テーブル: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

GitHub リリース:
共通: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
BLOB: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
キュー: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
テーブル: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
接続文字列の設定

Note

以前のバージョンの .NET および Java クライアント ライブラリには、脆弱なバージョンの Jackson パッケージへの依存関係があるため、重大度の高い脆弱性があります。 セキュリティの問題を回避するために、サポートされている最新バージョンの .NET および Java クライアント ライブラリを使用することを強くお勧めします。

Composer 経由で PHP クライアントをインストールする (現在)

Composer 経由でインストールするには (BLOB の例):

  1. プロジェクトのルートに composer.json という名前のファイルを次のコードを使用して作成します。

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. composer.phar をプロジェクトのルートにダウンロードします。

  3. php composer.phar install を実行します。

API のバージョンを指定する

新しい .NET クライアント ライブラリ (共通: v12.9.0、BLOB: v12.10.0、キュー: v12.8.0) と Java クライアント ライブラリ (共通: v12.12.0、BLOB: v12.13.0、キュー: v12.10.0) を使用するには、クライアント クラスの既定のバージョンは現在 Azure Stack Hub でサポートされていないため、各クライアント クラス (BlobServiceClientBlobContainerClientBlobClientQueueServiceClientQueueClient を含む) で serviceVersion を明示的に指定する必要があります。

.NET
BlobClientOptions options = new BlobClientOptions(BlobClientOptions.ServiceVersion.V2019_07_07);
BlobServiceClient client = new BlobServiceClient("<connection_string>", options);
Java
BlobServiceVersion version = BlobServiceVersion.V2019_07_07; 
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
    .endpoint("<your_endpoint>")
    .sasToken("<your_SAS_token>")
    .serviceVersion(version)
    .buildClient();

2008 以降の更新プログラム

クライアント ライブラリ Azure Stack Hub でサポートされるバージョン Link エンドポイントの指定
.NET 共通: 12.9.0
BLOB: 12.10.0
キュー: 12.8.0
NuGet パッケージ:
共通: https://www.nuget.org/packages/Azure.Storage.common/12.9.0
BLOB: https://www.nuget.org/packages/Azure.Storage.Blobs/12.10.0
キュー: https://www.nuget.org/packages/Azure.Storage.queues/12.8.0

GitHub リリース:
共通: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.9.0/sdk/storage/Azure.Storage.Common
BLOB: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.10.0/sdk/storage/Azure.Storage.Blobs
キュー: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.8.0/sdk/storage/Azure.Storage.Queues
app.config ファイル
Java 共通: 12.12.0
BLOB: 12.13.0
キュー: 12.10.0
Maven パッケージ:
共通: https://mvnrepository.com/artifact/com.azure/azure-storage-common/12.12.0
BLOB: https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.13.0
キュー: https://mvnrepository.com/artifact/com.azure/azure-storage-queue/12.10.0

GitHub リリース:
共通: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-common_12.12.0/sdk/storage/azure-storage-common
BLOB: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-blob_12.13.0/sdk/storage/azure-storage-blob
キュー: https://github.com/Azure/azure-sdk-for-java/tree/azure-storage-queue_12.10.0/sdk/storage/azure-storage-queue
接続文字列の設定
Node.js 2.8.3 NPM リンク:
https://www.npmjs.com/package/azure-storage
(次のコマンドを実行: npm install azure-storage@2.8.3)

GitHub リリース:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
サービス インスタンスの宣言
C++ 7.2.0 GitHub リリース:
https://github.com/Azure/azure-storage-cpp/releases/tag/v7.2.0
接続文字列の設定
PHP 1.2.0 GitHub リリース:
共通: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
BLOB: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
キュー:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
テーブル: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Composer 経由でインストールする (詳細については下記参照)
接続文字列の設定
Python BLOB: 12.3.1
キュー: 12.1.6
GitHub リリース:
BLOB:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-blob_12.3.1/sdk/storage/azure-storage-blob
キュー:
https://github.com/Azure/azure-sdk-for-python/tree/azure-storage-queue_12.1.6/sdk/storage/azure-storage-queue
サービス インスタンスの宣言
Ruby 1.0.1 RubyGems パッケージ:
共通:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
BLOB: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
キュー: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
テーブル: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

GitHub リリース:
共通: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
BLOB: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
キュー: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
テーブル: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
接続文字列の設定

Composer 経由で PHP クライアントをインストールする (現在)

Composer 経由でインストールするには (BLOB の例):

  1. プロジェクトのルートに composer.json という名前のファイルを次のコードを使用して作成します。

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. composer.phar をプロジェクトのルートにダウンロードします。

  3. php composer.phar install を実行します。

API のバージョンを指定する

新しい .NET クライアント ライブラリ (共通: v12.9.0、BLOB: v12.10.0、キュー: v12.8.0) と Java クライアント ライブラリ (共通: v12.12.0、BLOB: v12.13.0、キュー: v12.10.0) を使用するには、クライアント クラスの既定のバージョンは現在 Azure Stack Hub でサポートされていないため、各クライアント クラス (BlobServiceClientBlobContainerClientBlobClientQueueServiceClientQueueClient を含む) で serviceVersion を明示的に指定する必要があります。

.NET
BlobClientOptions options = new BlobClientOptions(BlobClientOptions.ServiceVersion.V2019_07_07);
BlobServiceClient client = new BlobServiceClient("<connection_string>", options);
Java
BlobServiceVersion version = BlobServiceVersion.V2019_07_07; 
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
    .endpoint("<your_endpoint>")
    .sasToken("<your_SAS_token>")
    .serviceVersion(version)
    .buildClient();

更新プログラム 2005

クライアント ライブラリ Azure Stack Hub でサポートされるバージョン Link エンドポイントの指定
.NET 11.0.0 NuGet パッケージ:
共通: https://www.nuget.org/packages/Microsoft.Azure.Storage.Common/11.0.0
BLOB: https://www.nuget.org/packages/Microsoft.Azure.Storage.Blob/11.0.0
キュー:
https://www.nuget.org/packages/Microsoft.Azure.Storage.Queue/11.0.0

GitHub リリース:
https://github.com/Azure/azure-storage-net/releases/tag/v11.0.0
app.config ファイル
Java 12.0.0-preview.3 Maven パッケージ:
https://mvnrepository.com/artifact/com.azure/azure-storage-blob/12.0.0-preview.3

GitHub リリース:
https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/storage
接続文字列の設定
Node.js 2.8.3 NPM リンク:
https://www.npmjs.com/package/azure-storage
(次のコマンドを実行: npm install azure-storage@2.8.3)

GitHub リリース:
https://github.com/Azure/azure-storage-node/releases/tag/v2.8.3
サービス インスタンスの宣言
C++ 7.1.0 GitHub リリース:
https://github.com/Azure/azure-storage-cpp/releases/tag/v7.1.0
接続文字列の設定
PHP 1.2.0 GitHub リリース:
共通: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-common
BLOB: https://github.com/Azure/azure-storage-php/releases/tag/v1.2.0-blob
キュー:
https://github.com/Azure/azure-storage-php/releases/tag/v1.1.1-queue
テーブル: https://github.com/Azure/azure-storage-php/releases/tag/v1.1.0-table

Composer 経由でインストールする (詳細については下記参照)
接続文字列の設定
Python 2.1.0 GitHub リリース:
共通:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-common
BLOB:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-blob
キュー:
https://github.com/Azure/azure-storage-python/releases/tag/v2.1.0-queue
サービス インスタンスの宣言
Ruby 1.0.1 RubyGems パッケージ:
共通:
https://rubygems.org/gems/azure-storage-common/versions/1.0.1
BLOB: https://rubygems.org/gems/azure-storage-blob/versions/1.0.1
キュー: https://rubygems.org/gems/azure-storage-queue/versions/1.0.1
テーブル: https://rubygems.org/gems/azure-storage-table/versions/1.0.1

GitHub リリース:
共通: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-common
BLOB: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-blob
キュー: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-queue
テーブル: https://github.com/Azure/azure-storage-ruby/releases/tag/v1.0.1-table
接続文字列の設定

Composer 経由で PHP クライアントをインストールする (現在)

Composer 経由でインストールするには (BLOB の例):

  1. プロジェクトのルートに composer.json という名前のファイルを次のコードを使用して作成します。

    {
      "require": {
      "Microsoft/azure-storage-blob":"1.2.0"
      }
    }
    
  2. composer.phar をプロジェクトのルートにダウンロードします。

  3. php composer.phar install を実行します。

エンドポイントの宣言

Azure Stack Hub のエンドポイントには、リージョン名と Azure Stack Hub ドメインの 2 つの部分があります。 Azure Stack Development Kit の既定のエンドポイントは local.azurestack.external です。 エンドポイントが不明の場合は、クラウド管理者に問い合わせてください。

.NET

Azure Stack Hub のエンドポイントのサフィックスは、app.config ファイルに指定されています。

<add key="StorageConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;
EndpointSuffix=local.azurestack.external;" />

Java

Azure Stack Hub のエンドポイントのサフィックスは、接続文字列の設定に指定されています。

public static final String storageConnectionString =
    "DefaultEndpointsProtocol=http;" +
    "AccountName=your_storage_account;" +
    "AccountKey=your_storage_account_key;" +
    "EndpointSuffix=local.azurestack.external";

Node.js

Azure Stack Hub のエンドポイントのサフィックスは、宣言のインスタンスに指定されています。

var blobSvc = azure.createBlobService('myaccount', 'mykey',
'myaccount.blob.local.azurestack.external');

C++

Azure Stack Hub のエンドポイントのサフィックスは、接続文字列の設定に指定されています。

const utility::string_t storage_connection_string(U("DefaultEndpointsProtocol=https;
AccountName=your_storage_account;
AccountKey=your_storage_account_key;
EndpointSuffix=local.azurestack.external"));

PHP

Azure Stack Hub のエンドポイントのサフィックスは、接続文字列の設定に指定されています。

$connectionString = 'BlobEndpoint=https://<storage account name>.blob.local.azurestack.external/;
QueueEndpoint=https:// <storage account name>.queue.local.azurestack.external/;
TableEndpoint=https:// <storage account name>.table.local.azurestack.external/;
AccountName=<storage account name>;AccountKey=<storage account key>'

Python

Azure Stack Hub のエンドポイントのサフィックスは、宣言のインスタンスに指定されています。

block_blob_service = BlockBlobService(account_name='myaccount',
account_key='mykey',
endpoint_suffix='local.azurestack.external')

Ruby

Azure Stack Hub のエンドポイントのサフィックスは、接続文字列の設定に指定されています。

set
AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;
AccountName=myaccount;
AccountKey=mykey;
EndpointSuffix=local.azurestack.external

BLOB ストレージ

Azure Stack Hub に、次の Azure Blob ストレージのチュートリアルを応用できます。 Azure Stack Hub のエンドポイントのサフィックスの具体的な要件については、前ののセクションを参照してください。

ストレージ

Azure Stack Hub に、次の Azure Queue storage のチュートリアルを応用できます。 Azure Stack Hub のエンドポイントのサフィックスの具体的な要件については、前ののセクションを参照してください。

テーブル ストレージ

Azure Stack Hub に、次の Azure Table storage のチュートリアルを応用できます Azure Stack Hub のエンドポイントのサフィックスの具体的な要件については、前ののセクションを参照してください。

次のステップ