Package google.longrunning

索引

オペレーション

API サービスを使用して長時間実行オペレーションを管理します。

通常、API メソッドの完了に時間がかかる場合、クライアントにOperation返すように設計できます。クライアントはこのインターフェイスを使用して、オペレーション リソースをポーリングすることで実際の応答を非同期で受信したり、オペレーション リソースを別の API に渡したりできます ( Pub/Sub API など)を使用して応答を受信します。長時間実行オペレーションを返す API サービスは、開発者が一貫したクライアント エクスペリエンスを実現できるように、 Operationsインターフェイスを実装する必要があります。

操作のキャンセル

rpc CancelOperation( CancelOperationRequest ) returns ( Empty )

長時間実行操作で非同期キャンセルを開始します。サーバーは操作をキャンセルするために最善の努力をしますが、成功は保証されません。サーバーがこのメソッドをサポートしていない場合は、 google.rpc.Code.UNIMPLEMENTEDを返します。クライアントは、 Operations.GetOperationまたはその他のメソッドを使用して、キャンセルが成功したかどうか、またはキャンセルにもかかわらず操作が完了したかどうかを確認できます。キャンセルが成功しても、操作は削除されません。代わりに、 Code.CANCELLEDに対応する、 google.rpc.Status.codeが 1 のOperation.error値を持つ操作になります。

認可範囲

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳細については、 「認証の概要」を参照してください。

削除操作

rpc DeleteOperation( DeleteOperationRequest ) returns ( Empty )

長時間実行されるオペレーションを削除します。このメソッドは、クライアントが操作結果にもう興味がないことを示します。操作はキャンセルされません。サーバーがこのメソッドをサポートしていない場合は、 google.rpc.Code.UNIMPLEMENTEDを返します。

認可範囲

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳細については、 「認証の概要」を参照してください。

Getオペレーション

rpc GetOperation( GetOperationRequest ) returns ( Operation )

長時間実行される操作の最新の状態を取得します。クライアントは、このメソッドを使用して、API サービスが推奨する間隔で操作結果をポーリングできます。

認可範囲

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳細については、 「認証の概要」を参照してください。

リスト操作

rpc ListOperations( ListOperationsRequest ) returns ( ListOperationsResponse )

リクエスト内の指定されたフィルターに一致するオペレーションをリストします。サーバーがこのメソッドをサポートしていない場合は、 UNIMPLEMENTEDを返します。

認可範囲

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳細については、 「認証の概要」を参照してください。

待機操作

rpc WaitOperation( WaitOperationRequest ) returns ( Operation )

指定された長時間実行操作が完了するか、最大でも指定されたタイムアウトに達するまで待機し、最新の状態を返します。操作がすでに完了している場合は、最新の状態がすぐに返されます。指定されたタイムアウトがデフォルトの HTTP/RPC タイムアウトより大きい場合は、HTTP/RPC タイムアウトが使用されます。サーバーがこのメソッドをサポートしていない場合は、 google.rpc.Code.UNIMPLEMENTEDを返します。この方法はベストエフォートベースであることに注意してください。指定されたタイムアウト前に (即時を含む) 最新の状態を返す場合があります。つまり、即時の応答であっても操作が完了するという保証はありません。

認可範囲

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳細については、 「認証の概要」を参照してください。

オペレーションリクエストのキャンセル

Operations.CancelOperationのリクエスト メッセージ。

田畑
name

string

キャンセルする操作リソースの名前。

削除操作リクエスト

Operations.DeleteOperationのリクエスト メッセージ。

田畑
name

string

削除する操作リソースの名前。

GetOperationRequest

Operations.GetOperationのリクエスト メッセージ。

田畑
name

string

操作リソースの名前。

ListOperationsRequest

Operations.ListOperationsのリクエスト メッセージ。

田畑
name

string

オペレーションの親リソースの名前。

filter

string

標準のリストフィルター。

page_size

int32

標準のリストのページ サイズ。

page_token

string

標準のリストページトークン。

リスト操作応答

Operations.ListOperationsの応答メッセージ。

田畑
operations[]

Operation

リクエストで指定されたフィルターに一致する操作のリスト。

next_page_token

string

標準のリストの次ページ トークン。

手術

このリソースは、ネットワーク API 呼び出しの結果である長時間実行操作を表します。

田畑
name

string

サーバーによって割り当てられた名前。最初にそれを返した同じサービス内でのみ一意です。デフォルトの HTTP マッピングを使用する場合、 name operations/{unique_id}で終わるリソース名にする必要があります。

metadata

Any

操作に関連付けられたサービス固有のメタデータ。通常、これには進行状況情報と作成時間などの共通のメタデータが含まれます。一部のサービスでは、そのようなメタデータが提供されない場合があります。長時間実行オペレーションを返すメソッドは、メタデータ型がある場合はそれを文書化する必要があります。

done

bool

値がfalseの場合、操作がまだ進行中であることを意味します。 trueの場合、操作は完了し、 errorまたはresponseいずれかが使用可能になります。

共用体フィールドresult 。操作の結果。 errorまたは有効なresponseいずれかになります。 done == falseの場合、 errorresponseも設定されません。 done == trueの場合、 errorまたはresponseのいずれか 1 つだけを設定できます。一部のサービスでは結果が得られない場合があります。 result次のいずれか 1 つだけになります。
error

Status

失敗またはキャンセルされた場合の操作のエラー結果。

response

Any

操作の正常な正常な応答。元のメソッドが成功時にデータを返さない場合 ( Deleteなど)、応答はgoogle.protobuf.Emptyです。元のメソッドが標準のGet / Create / Updateの場合、応答はリソースである必要があります。他のメソッドの場合、応答のタイプはXxxResponseである必要があります。 Xxxは元のメソッド名です。たとえば、元のメソッド名がTakeSnapshot()の場合、推論される応答タイプはTakeSnapshotResponseです。

WaitOperationRequest

Operations.WaitOperationのリクエスト メッセージ。

田畑
name

string

待機する操作リソースの名前。

timeout

Duration

タイムアウトになるまでの最大待機時間。空白のままにすると、待機時間は最大でも基礎となる HTTP/RPC プロトコルで許可される時間になります。 RPC コンテキストの期限も指定されている場合は、短い方が使用されます。