Azure Storage サービスのバージョン管理

Microsoft Azure ストレージ サービスは複数のバージョンをサポートしています。 ストレージ サービスに対して要求を行うには、要求が匿名でない限り、その操作に使用するバージョンを指定する必要があります。

Azure Storage サービスの現在のバージョンは 2021-04-10 であり、可能な場合はそのバージョンを使用することをお勧めします。 サポートされているすべてのバージョンの一覧と、各バージョンの使用については、以前のAzure Storage サービス バージョンを参照してください。

バージョン 2021-06-08

2021-06-08 サービス バージョンには、次の機能が含まれています。

要求でのサービス バージョンの指定

要求に使用するストレージ サービスのバージョンを指定する方法は、その要求の承認方法に関連します。 次のセクションでは、承認オプションと、各サービス バージョンを指定する方法について説明します。

  • Azure Active Directory (Azure AD) からの OAuth 2.0 トークンを使用した要求。 Azure AD で要求を承認するには、2017-11-09 以降のサービス バージョンで要求にヘッダーを渡します x-ms-version 。 詳細については、「Azure Active Directoryを使用した Authorize」の OAuth トークンを使用したストレージ操作の呼び出し関する説明を参照してください。

  • 共有キーまたは共有キー Lite を使用する要求。 Shared Key/Shared Key Lite で要求を承認するには、要求にヘッダーを x-ms-version 渡します。 BLOB サービスの場合は、 Blob Service プロパティの設定を呼び出すことで、すべての要求の既定のバージョンを指定できます。

  • 共有アクセス署名 (SAS) を使用した要求。 共有アクセス署名では、2 つのバージョン設定オプションを使用できます。 省略可能な api-version ヘッダーは、API 操作の実行に使用するサービス バージョンを示します。 必須 SignedVersion (sv) パラメーターは、SAS で行われた要求の承認に使用するサービス バージョンを指定します。 api-version ヘッダーを指定しない場合、SignedVersion (sv) パラメーターの値は API 操作の実行に使用するバージョンも示します。

  • 匿名アクセスを使用する要求。 BLOB サービスに対する匿名アクセスの場合、バージョンは渡されません。要求に使用するバージョンの経験則については、以下で説明します。

Azure AD、共有キー、または共有キー ライトを使用して承認された要求

Azure AD、Shared Key、または Shared Key Lite で要求を承認するには、要求の x-ms-version ヘッダーを指定します。 x-ms-version 要求ヘッダーの値は YYYY-MM-DD 形式で指定する必要があります。 次に例を示します。

Request Headers:  
x-ms-version: 2020-04-08

次の規則は、これらの要求を評価して、要求の処理に使用するバージョンを決定する方法を示します。

  • 要求に有効な x-ms-version ヘッダーがある場合、指定されたバージョンがストレージ サービスによって使用されます。 テーブル サービスとキュー サービスに対する、共有アクセス署名を使用しない要求については、必ず x-ms-version ヘッダーを指定する必要があります。 共有アクセス署名を使用しない BLOB サービスに対するすべての要求では、既定のバージョンが設定されていない場合、以下の説明のように x-ms-version ヘッダーを指定する必要があります。

  • BLOB サービスへの要求にヘッダーがない x-ms-version が、アカウント所有者が Set Blob Service Properties を使用して既定のバージョンを設定している場合、指定された既定のバージョンが要求のバージョンとして使用されます。

共有アクセス署名で承認された要求

バージョン 2014-02-14 以降を使用して生成された共有アクセス署名 (SAS) では、2 つのバージョン管理オプションがサポートされています。

  • api-version クエリ パラメーターで、SAS を使用した要求の処理に使用する REST プロトコル バージョンを定義します。

  • クエリ パラメーターは SignedVersion (sv) 、承認に使用する SAS バージョンを定義します。

SignedVersionクエリ パラメーターは、クライアントが SAS を使用して要求を行うときに、承認に使用されます。 、sr、、spsigspkerkstepksesrktnなどのsi承認パラメーターはすべて、指定されたバージョンを使用して解釈されます。

、、rsclなどの REST プロトコル パラメーターは、rsctパラメーター ヘッダーで提供されているバージョンをapi-version使用して適用されます。rsccrscerscd api-version ヘッダーを指定しない場合、SignedVersion に指定されたサービス バージョンが使用されます。

「サービス SAS の作成」の説明に従って、パラメーターはapi-version承認ヘッダーの文字列対サインインの一部ではありません。

次の表は、パラメーターがバージョン 2014-02-14 以降に設定されている場合 SignedVersion の承認と REST プロトコルの呼び出しに、サービスで使用されるバージョン管理スキームについて説明します。

api-version パラメーターの値 承認に使用されるバージョン プロトコル動作に使用されるバージョン
指定なし sv パラメーターに指定されたバージョン sv パラメーターに指定されたバージョン
XXXX-XX-XX という形式の有効なストレージ サービスのバージョン sv パラメーターに指定されたバージョン 有効なストレージ サービスのバージョン XXXX-XX-XX

例 1

次のサンプル要求では、パラメーターの有無に関係sv=2015-04-05なくapi-version、List BLOB を呼び出します。

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2015-04-05&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d

この場合、サービスはバージョン 2015-04-05 を使用して要求を認証および承認し、バージョン 2015-04-05 を使用して操作も実行します。

例 2

次のサンプル要求では、パラメーターを使用sv=2015-04-05して api-versionList BLOB を呼び出します。

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2015-04-05&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d&api-version=2012-02-12

ここでは、サービスはバージョン 2015-04-05 を使用して要求を承認し、バージョン 2012-02-12 を使用して操作を実行します。

注意

.NET Storage Client Library は、REST プロトコルのバージョン (api-version パラメーター) を、常に基となるバージョンに設定します。

匿名アクセスによる要求

匿名アクセスを介して行われた要求は、対応するストレージ アカウントの種類によって異なる方法で処理されます。

汎用ストレージ アカウントの場合

汎用ストレージ アカウントへの匿名要求でヘッダーが指定 x-ms-version されておらず、サービスの既定のバージョンが Blob Service プロパティの設定を使用して設定されていない場合、サービスは可能な限り早いバージョンを使用して要求を処理します。 ただし、バージョン 2009-09-19 以降を使用して実行された コンテナー ACL の設定 操作でコンテナーが公開された場合、要求はバージョン 2009-09-19 を使用して処理されます。

BLOB ストレージ アカウントの場合

BLOB ストレージ アカウントへの匿名要求でヘッダーが指定 x-ms-version されておらず、サービスの既定のバージョンが Blob Service プロパティの設定を使用して設定されていない場合、サービスは可能な限り早いバージョンを使用して要求を処理します。 BLOB ストレージ アカウントの場合、可能な最も古いバージョンは 2014-02-14 です。

関連項目