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