API 要求を制御する入力変数
API 呼び出しの処理方法は、 HTTP 要求で設定されたパラメータと変数を使用して制御できます。
HTTP メソッド
次の表に、 SnapCenter REST API でサポートされる HTTP メソッドを示します。
REST エンドポイントのそれぞれですべての HTTP メソッドを使用できるわけではありません。 |
HTTP メソッド | 説明 |
---|---|
取得 |
リソースインスタンスまたはコレクションのオブジェクトプロパティを取得します。 |
投稿( Post ) |
指定した入力に基づいて新しいリソースインスタンスを作成します。 |
削除 |
既存のリソースインスタンスを削除します。 |
PUT |
既存のリソースインスタンスを変更します。 |
要求ヘッダー
HTTP 要求には複数のヘッダーを含める必要があります。
コンテンツタイプ
要求の本文に JSON が含まれている場合は、このヘッダーを application/json に設定する必要があります。
同意します
このヘッダーは、 application/json に設定してください。
承認
base64 文字列としてエンコードされたユーザ名とパスワードを使用するベーシック認証を設定する必要があります。
本文を要求します
要求の本文の内容は、それぞれの呼び出しに応じて異なります。HTTP 要求の本文は、次のいずれかで構成されます。
-
JSON オブジェクトと入力変数
-
空です
オブジェクトのフィルタリング
GET を使用する API 呼び出しを発行する際、返されるオブジェクトを任意の属性に基づいて制限またはフィルタできます。たとえば、一致する正確な値を指定できます。
<field>=<query value>
完全一致に加えて、他の演算子を使用して、一連のオブジェクトを一定範囲の値で返すことができます。次の表に、 SnapCenter REST API でサポートされるフィルタ演算子を示します。
演算子 | 説明 |
---|---|
= |
等しい |
< |
より小さい |
> |
が次の値より大きい |
⇐ |
が次の値以下です |
>= |
が次の値以上である必要があります |
更新 |
または |
! |
と等しくない |
* |
すべてに一致するワイルドカード |
また、クエリの一部として null キーワードまたはその negation*!null* を使用して、特定のフィールドが設定されているかどうかに基づいてオブジェクトのコレクションを返すこともできます。
通常、設定されていないフィールドはクエリの照合から除外されます。 |
特定のオブジェクトフィールドを要求しています
デフォルトでは、 GET を使用する API 呼び出しを発行すると、オブジェクトを一意に識別する属性のみが返されます。この最小のフィールドセットは、各オブジェクトのキーとして機能し、オブジェクトタイプによって異なります。を使用して、追加のオブジェクトプロパティを選択できます fields
次の方法でクエリパラメータを指定します。
共通または標準のフィールド
fields=* を指定すると、最もよく使用されるオブジェクトフィールドが取得されます。これらのフィールドは、通常、ローカルサーバメモリに保持されるか、ほとんど処理を必要としません。これらのプロパティは、 URL パスキー( UUID )を指定して GET を使用した場合にオブジェクトに対して返されるプロパティと同じです。
すべてのフィールド
fields=** を指定すると ' アクセスするために追加のサーバ処理が必要なフィールドも含め ' すべてのオブジェクトフィールドが取得されます
カスタムフィールドの選択
fields=<field_name> を使用すると、必要なフィールドを正確に指定できます。複数のフィールドを要求する場合は、スペースを入れずにカンマで区切る必要があります。
ベストプラクティスとして、必要なフィールドを常に個別に指定することを推奨します。一連の共通フィールドまたはすべてのフィールドを取得するのは、必要な場合だけにしてください。共通として分類されるフィールドで、 fields=* を使用して返されるフィールドは、ネットアップの内部パフォーマンス分析に基づいて決定されます。フィールドの分類は、今後のリリースで変更される可能性があります。 |
出力セット内のオブジェクトのソート
リソースコレクション内のレコードは、オブジェクトによって定義されたデフォルトの順序で返されます。を使用して順序を変更できます order_by
フィールド名とソート順序を指定したクエリパラメータ。
order_by=<field name> asc|desc
たとえば、タイプフィールドを降順でソートし、 ID を昇順でソートできます。
order_by=type desc, id asc
-
ソートフィールドを指定してソートの方向を指定しなかった場合、値は昇順でソートされます。
-
複数のパラメータを指定する場合は、各フィールドをカンマで区切る必要があります。
オブジェクトのコレクションを取得するときのページ付けです
GET を使用する API 呼び出しを発行して同じタイプのオブジェクトのコレクションにアクセスする場合、 SnapCenter では 2 つの制約に基づいて可能なかぎり多くのオブジェクトを返します。これらの各制約は、要求に対する追加のクエリパラメータを使用して制御できます。特定の GET 要求に対する最初の制約に達した時点で要求が終了されるため、返されるレコードの数が制限されます。
すべてのオブジェクトについての処理が完了する前に要求が終了した場合、次のレコードのバッチを取得するために必要なリンクが応答に含まれます。 |
オブジェクト数の制限
デフォルトでは、 SnapCenter は GET 要求に対して最大 10 、 000 個のオブジェクトを返します。この制限は、 _max_records_query パラメータを使用して変更できます。例:
max_records=20
実際に返されるオブジェクトの数は、関連する時間の制約やシステム内のオブジェクトの総数に基づいて、有効な最大数よりも少なくなることがあります。
オブジェクトを読み出す時間を制限しています
デフォルトでは、 SnapCenter は GET 要求に許可された時間内にできるだけ多くのオブジェクトを返します。デフォルトのタイムアウトは 15 秒です。この制限は、 _return_timeout_query パラメータを使用して変更できます。例:
return_timeout=5
実際に返されるオブジェクトの数は、関連するオブジェクト数の制約やシステム内のオブジェクトの総数に基づいて、有効な最大数よりも少なくなることがあります。
結果セットの絞り込み
必要に応じて、これらの 2 つのパラメータを追加のクエリパラメータと組み合わせて、結果セットを絞り込むことができます。たとえば、次の例では、指定した時間のあとに生成された EMS イベントを最大 10 件まで返します。
time⇒ 2018-04-04T15:41:29.140265Z&max_records=10
複数の要求を問題で処理して、オブジェクトをページングできます。以降の API 呼び出しでは、前回の結果セットの最新イベントに基づいて新しい時間の値を使用する必要があります。
サイズのプロパティ
一部の API 呼び出しおよびクエリパラメータでは、入力値として数値が使用されます。バイト単位で整数を指定する代わりに、必要に応じて次の表に示すサフィックスを使用できます。
サフィックス | 説明 |
---|---|
KB |
KB キロバイト( 1024 バイト)またはキビバイト |
MB |
MB ( KB x 1024 バイト)またはメビバイト |
GB |
ギガバイト( MB x 1024 バイト)またはギビバイト |
容量 |
TB ( GB x 1024 バイト)またはテビバイト |
PB |
PB ペタバイト( TB x 1024 バイト)またはペビバイト |