長時間実行オペレーション

長時間実行オペレーション

Submission API は非同期で、長時間実行オペレーションを返します。このメソッドがレスポンスを返すときにオペレーションが完了していない場合があります。

オペレーションのステータスを取得する

以下に、オペレーションのステータスをポーリングする方法を示します。

Operations タイプの GET メソッドを呼び出します。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: GCP プロジェクト ID
  • operation-id: オペレーション ID

HTTP メソッドと URL:

GET https://webrisk.googleapis.com/v1/projects/project-id/operations/operation-id

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://webrisk.googleapis.com/v1/projects/project-id/operations/operation-id"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://webrisk.googleapis.com/v1/projects/project-id/operations/operation-id" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/project-id/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.webrisk.v1.SubmitUriMetadata",
    "state": "RUNNING"
  }
  "done": false,
  ...
}

オペレーションが完了すると、SUCCEEDEDstate の値が戻されます。