このページでは、Cloud AutoML を使用して AutoML Tables の長時間実行オペレーションを処理する方法を説明します。
はじめに
AutoML Tables のオペレーションの中には、完了までにある程度の時間を要するものがあります。
- datasets.importData
- datasets.exportData
- datasets.delete
- models.batchPredict
- models.create
- models.delete
- models.deploy
- models.exportEvaluatedExamples
- models.undeploy
Google Cloud Console を使用している場合は、ブラウザ ウィンドウを閉じてもオペレーションに影響しません。オペレーションが完了するとパネルが更新されます。
完了までに長時間かかる API 呼び出しを行う場合、最初の呼び出しは、オペレーションがまだ実行中であってもすぐに返されます。長時間実行オペレーションのステータスの確認に使用できるヘルパー メソッドが用意されています。
長時間実行オペレーションが完了すると、AutoML Tables からプロジェクト オーナーにメールが送信されます。
オペレーション ステータスのポーリング
長時間実行オペレーションのステータスをポーリングできます。この方法は実行中のプログラムの妨げにはなりませんが、オペレーションが完了するまでポーリングを続ける必要があります。
オペレーションのステータスを取得するには、オペレーションの開始時のレスポンスに記載されているオペレーション ID を使用します。オペレーション ID は Google Cloud Console に表示されません。
次のコマンドの operation-name は、オペレーションの完全な名前に置き換えます。完全な名前の形式は projects/{project-id}/locations/us-central1/operations/{operation-id}
です。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ https://automl.googleapis.com/v1beta1/operation-name
インポート オペレーションでは、次のような出力が表示されます。出力には、リクエストの種類に固有の情報を含む metadata
オブジェクトがあります。done
フィールドは、オペレーションが完了したかどうかを示します。オペレーションが完了している場合、レスポンスにはリクエストの結果に関する情報が含まれます。
{ "name": "projects/1234/locations/us-central1/operations/TBL2126", "metadata": { ... }, "done": true, "response": { ... } }
オペレーション完了の待機
当該オペレーションに対する実行をブロックする場合、オペレーションが完了するまで(または指定したタイムアウトに達するまで)待機できます。
次のコマンドで、それぞれの項目を置き換えます。
operation-name は、オペレーションの完全な名前です。完全な名前の形式は
projects/{project-id}/locations/us-central1/operations/{operation-id}
です。オペレーション ID は Google Cloud Console に表示されません。timeout は、待機する最長時間です。秒単位(小数あり)で、末尾に「s」をつけます。たとえば、「4.5s」と指定すると、オペレーションがまだ実行中の場合、待機コマンドは 4 秒半で戻ります。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ -d '{"timeout":"timeout"}' \ https://automl.googleapis.com/v1beta1/operation-name:wait
オペレーションのキャンセル
インポート タスクやトレーニング タスクのキャンセルは、オペレーション ID を使用して実施できます。ただし、キャンセルは必ず成功するとは限りません。トレーニング タスクをキャンセルしても、使用したトレーニング時間は課金対象になります。
オペレーションの削除はできません。
次のコマンドの operation-name は、オペレーションの完全な名前に置き換えます。完全な名前の形式は projects/{project-id}/locations/us-central1/operations/{operation-id}
です。オペレーション ID は Google Cloud Console に表示されません。
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://automl.googleapis.com/v1beta1/operation-name:cancel