ジョブオブジェクト API と非同期プロセス
management-serverカテゴリには、Active IQ Unified Manager APIの実行中に実行されたジョブに関する情報を提供するジョブAPIが含まれます。非同期処理がジョブオブジェクトを使用してどのように動作するかを理解しておく必要があります。
一部の API 呼び出し、特にリソースの追加や変更に使用される API 呼び出しは、他の呼び出しよりも完了に時間がかかることがあります。Unified Manager は、これらの長時間実行されている要求を非同期的に処理します。
ジョブオブジェクトを使用して記述された非同期要求
非同期的に実行される API 呼び出しを行うと、 HTTP 応答コード 202 が返されます。この応答コードは、要求が正常に検証され受け入れられたものの、まだ完了していないことを示します。要求はバックグラウンドタスクとして処理され、クライアントへの最初の HTTP 応答後も引き続き実行されます。応答には、要求に対応するジョブオブジェクトと、その一意の識別子が含まれます。
API 要求に関連付けられたジョブオブジェクトの照会
HTTP 応答で返されるジョブオブジェクトには、いくつかのプロパティが含まれています。状態プロパティを照会して、要求が正常に完了したかどうかを確認できます。ジョブオブジェクトは次のいずれかの状態になります。
-
NORMAL
-
WARNING
-
PARTIAL_FAILURES
-
ERROR
ジョブオブジェクトをポーリングするときに、タスクの終了状態(成功または失敗)を検出するために使用できる 2 つの方法があります。
-
標準のポーリング要求:現在のジョブの状態がすぐに返されます。
-
ロングポーリング要求:ジョブの状態がになったとき
NORMAL
、ERROR`または `PARTIAL_FAILURES
。
非同期要求の手順
非同期 API 呼び出しを完了する大まかな手順を次に示します。
-
問題:非同期 API 呼び出し。
-
要求が正常に受け取られたことを示す HTTP 応答 202 を受信します。
-
応答の本文からジョブオブジェクトの識別子を抽出します。
-
ループ内で、ジョブオブジェクトが終了状態になるまで待ちます
NORMAL
、ERROR`または `PARTIAL_FAILURES
。 -
ジョブの終了状態を確認し、ジョブの結果を取得します。