グリッド管理 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