基本的な動作特性
RESTでは共通のテクノロジとベストプラクティスが確立されますが、各APIの詳細は設計の選択内容によって異なります。
要求と応答のAPIトランザクション
すべてのREST API呼び出しは、SnapCenterサーバシステムへのHTTP要求として実行され、クライアントへの関連する応答が生成されます。この要求と応答のペアはAPIトランザクションとみなされます。
APIを使用する前に、要求の制御に使用できる入力変数と応答出力の内容を理解しておく必要があります。
CRUD操作のサポート
SnapCenter REST APIで使用できる各リソースは、CRUDモデルに基づいてアクセスされます。
-
作成
-
読み取り
-
更新
-
削除
一部のリソースでは、一部の処理のみがサポートされます。
オフシエクトID
各リソースインスタンスまたはオブジェクトには、作成時に一意の識別子が割り当てられます。ほとんどの場合、識別子は128ビットUUIDです。これらの識別子は、特定のSnapCenterサーバ内でグローバルに一意です。
新しいオブジェクトインスタンスを作成するAPI呼び出しを発行すると、関連付けられたIDのURLがHTTP応答のlocationヘッダーで呼び出し元に返されます。識別子を抽出して以降の呼び出しでリソースインスタンスを参照する際に使用できます。
オブジェクトIDの内容と内部構造はいつでも変更できます。識別子は、関連するオブジェクトを参照する場合にのみ、該当するAPI呼び出しで使用してください。 |
オブジェクトのインスタンスとコレクション
リソースパスとHTTPメソッドに応じて、特定のオブジェクトインスタンスまたはオブジェクトのコレクションにAPI呼び出しを適用できます。
同期操作と非同期操作
SnapCenterは、クライアントから受信したHTTP要求を同期または非同期で実行します。
同期処理
SnapCenterは要求をただちに実行し、成功した場合はHTTPステータスコード200または201で応答します。
GETメソッドを使用する要求はすべて、常に同期的に実行されます。また、POSTを使用する要求は、2秒以内に完了すると予想される場合は同期的に実行されるように設計されています。
非同期処理
非同期要求が有効な場合、SnapCenterは要求を処理するバックグラウンドタスクと、タスクをアンカーするジョブオブジェクトを作成します。HTTPステータスコード202が、ジョブオブジェクトとともに呼び出し元に返されます。成功または失敗を判断するには、ジョブの状態を取得する必要があります。
POSTおよびDELETEメソッドを使用する要求は、完了までに2秒以上かかると予想される場合に非同期で実行されるように設計されています。
セキュリティ
REST APIで提供されるセキュリティは、主にSnapCenterで使用できる既存のセキュリティ機能に基づいています。APIで使用されるセキュリティは次のとおりです。
トランスポート層セキュリティ
SnapCenterサーバとクライアントの間でネットワーク経由で送信されるすべてのトラフィックは、通常、SnapCenter設定に基づいてTLSを使用して暗号化されます。
HTTP認証
HTTPレベルでは、APIトランザクションにベーシック認証が使用されます。base64文字列にユーザ名とパスワードを含むHTTPヘッダーが各要求に追加されます。