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

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

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

https://hostname_or_ip_address/api/v3/authorize

テナント管理APIに対して旧バージョンと互換性がない変更が行われた場合、メジャー バージョンが引き上げられます。テナント管理APIに対して旧バージョンと互換性がある変更が行われた場合、マイナー バージョンが引き上げられます。互換性のある変更には、新しいエンドポイントやプロパティの追加などがあります。 次の例は、変更のタイプに基づいてAPIバージョンがどのように更新されるかを示しています。
表 1. APIのバージョン変更例
APIに対する変更 旧バージョン 新バージョン
旧バージョンと互換性がある 2.1 2.2
旧バージョンと互換性がない 2.1 3.0

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

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

現在のリリースでサポートされている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