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