日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

グリッド管理 API のバージョン管理

寄稿者

グリッド管理 API では、バージョン管理を使用して無停止アップグレードがサポートされます。

たとえば、次の要求 URL ではバージョン 3 の API が指定されています。

https://hostname_or_ip_address/api/v3/authorize`

旧バージョンとの互換性がない *_not compatible _ * の変更が行われると、テナント管理 API のメジャーバージョンが上がります。以前のバージョンと互換性がある _ * の変更を行うと、テナント管理 API のマイナーバージョンが上がります。互換性のある変更には、新しいエンドポイントやプロパティの追加などがあります。次の例は、変更のタイプに基づいて API バージョンがどのように更新されるかを示しています。

API に対する変更のタイプ 古いバージョン 新しいバージョン

旧バージョンと互換性があります

2.1

2.2.

旧バージョンとの互換性がありません

2.1

3.0

StorageGRID ソフトウェアを初めてインストールした時点では、グリッド管理 API の最新のバージョンのみが有効になっています。ただし、 StorageGRID の新機能リリースにアップグレードした場合、少なくとも StorageGRID の機能リリース 1 つ分の間は、古い API バージョンにも引き続きアクセスできます。

注記 グリッド管理 API を使用して、サポートされるバージョンを設定できます。詳細については、 Swagger API のドキュメントの「 config 」セクションを参照してください。すべての Grid 管理 API クライアントを新しいバージョンを使用するように更新したら、古いバージョンのサポートを無効にする必要があります。

古い要求は、次の方法で廃止とマークされます。

  • 応答ヘッダーが「 Deprecated : true 」となる。

  • JSON 応答の本文に「 deprecated : true 」が追加される

  • 廃止の警告が nms.log に追加される。例:

    Received call to deprecated v1 API at POST "/api/v1/authorize"

現在のリリースでサポートされている API のバージョンを確認します

サポートされている API のメジャーバージョンのリストを返すには、次の API 要求を使用します。

GET https://{{IP-Address}}/api/versions
{
  "responseTime": "2019-01-10T20:41:00.845Z",
  "status": "success",
  "apiVersion": "3.0",
  "data": [
    2,
    3
  ]
}

要求の API バージョンを指定します

API バージョンは ' パス・パラメータ (`/api/v3') またはヘッダー (`api-Version:3') を使用して指定できます両方の値を指定した場合は、ヘッダー値がパス値よりも優先されます。

curl https://[IP-Address]/api/v3/grid/accounts

curl -H "Api-Version: 3" https://[IP-Address]/api/grid/accounts