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