非同期処理の仕組み

リソースの作成または削除を行うAPI呼び出しの多くは、それ以外のAPI呼び出しに比べて完了に時間がかかることがあります。NAS Bridgeでは、このようなタイプの要求が非同期的に処理されます。非同期的に処理される呼び出しの場合は、リソース インスタンスのステータスを調べて、要求が完了していることを確認する必要があります。

非同期処理の場合、成功を示す最初のHTTP応答が返された時点では、要求は受け取られていますが、完了しているとはかぎりません。このため、リソースを追加または削除するための非同期要求を行ったあとに、リソース インスタンスをテストして要求が完了していることを確認する必要があります。

注:特定のAPI呼び出しが非同期的に処理されるかどうかを判別するには、Swagger Webページのドキュメントを参照します。このページの「Implementation Notes」セクション(存在する場合)に、詳細が表示されます。
追加要求のあとのリソース ステータスの確認
リソース インスタンスを追加するAPIを呼び出したあとに、リソースのステータスをポーリングして要求の完了を確認する必要があります。新しいリソースがREADY状態であれば、要求は完了しています。

非同期的にリソースを追加する場合は、必要な認証トークンを作成したあとに、次のプロセスを実行します。

  1. リソースを追加するAPIを呼び出します。
  2. 要求が正常に受け取られたことを示すHTTP応答を受信します。
  3. HTTP応答からリソースIDを抽出します。
  4. タイミング ループ内で、ループ サイクルごとに次の操作を実行します。
    1. IDに基づいてリソースの現在のステータスを取得します。
    2. リソースがREADY状態でなければ、もう一度ループを実行します。
  5. リソースがREADY状態になっていれば、ループを停止できます。
  6. リソースがREADY状態になる前にポーリング ループが(任意のタイムアウト値に従って)タイムアウトした場合は、エラーを報告します。
削除要求のあとのリソースの削除の確認
リソース インスタンスを削除するAPIを呼び出したあとに、リソースをポーリングして削除されたことを確認する必要があります。リソースが存在していなければ、要求は完了しています。

非同期的にリソースを削除する場合は、必要な認証トークンを作成したあとに、次のプロセスを実行します。

  1. リソースを削除するAPIを呼び出します。
  2. 要求が正常に受け取られたことを示すHTTP応答を受信します。
  3. タイミング ループ内で、サイクルごとに次の操作を実行します。
    1. IDに基づいてリソースの現在のステータスを取得します。
    2. リソースが見つかった場合(HTTPコード200)は、もう一度ループを実行します。
  4. 取得要求が「Not Found」(HTTPコード404)であれば、ループを停止できます。
  5. リソースがまだ存在するときにポーリング ループが(任意のタイムアウト値に従って)タイムアウトした場合は、エラーを報告します。