Package google.longrunning

インデックス

運用

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

完了するまでの時間が通常でも長くなる API メソッドについては、クライアントに Operation を返すように設計できます。クライアントはこのインターフェースを使用することで、オペレーション リソースをポーリングして実際のレスポンスを非同期的に受信できます。また、オペレーション リソースを別の API(Pub/Sub API など)に渡してレスポンスを受信することもできます。長時間実行オペレーションを返す API サービスでは、デベロッパーがクライアントの動作の一貫性を期待できるように、Operations インターフェースを実装する必要があります。

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

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

認可スコープ

次の OAuth スコープが必要です。

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

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

長時間実行オペレーションを削除します。このメソッドは、クライアントがそのオペレーション結果に関心がなくなったことを表しています。このメソッドではオペレーションはキャンセルされません。このメソッドがサーバーでサポートされていない場合は、google.rpc.Code.UNIMPLEMENTED を返します。

認可スコープ

次の OAuth スコープが必要です。

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

rpc GetOperation(GetOperationRequest) returns (Operation)

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

認可スコープ

次の OAuth スコープが必要です。

  • https://www.googleapis.com/auth/cloud-platform
IAM 権限

name リソースに対する次の IAM 権限が必要です。

  • routeoptimization.operations.get

詳細については、IAM のドキュメントをご覧ください。

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

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

認可スコープ

次の OAuth スコープが必要です。

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

rpc WaitOperation(WaitOperationRequest) returns (Operation)

指定された長時間実行オペレーションが完了するか、指定されたタイムアウトに達するまで待機し、最新の状態を返します。オペレーションがすでに完了している場合は、すぐに最新の状態が返されます。指定されたタイムアウトがデフォルトの HTTP/RPC タイムアウトを上回る場合は、HTTP/RPC タイムアウトが使用されます。サーバーがこのメソッドをサポートしていない場合は、google.rpc.Code.UNIMPLEMENTED を返します。このメソッドはベスト エフォートに基づきます。指定されたタイムアウト(直前を含む)の前に最新の状態を返すことがあります。つまり、すぐにレスポンスがあったとしても、オペレーションが完了したことを保証するものではありません。

認可スコープ

次の OAuth スコープが必要です。

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

CancelOperationRequest

Operations.CancelOperation に対するリクエスト メッセージ。

フィールド
name

string

キャンセルするオペレーション リソースの名前。

DeleteOperationRequest

Operations.DeleteOperation に対するリクエスト メッセージ。

フィールド
name

string

削除するオペレーション リソースの名前。

GetOperationRequest

Operations.GetOperation に対するリクエスト メッセージ。

フィールド
name

string

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

ListOperationsRequest

Operations.ListOperations に対するリクエスト メッセージ。

フィールド
name

string

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

filter

string

標準リストフィルタ。

page_size

int32

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

page_token

string

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

ListOperationsResponse

Operations.ListOperations に対するレスポンス メッセージ。

フィールド
operations[]

Operation

リクエストで指定されたフィルタに一致するオペレーションのリスト。

next_page_token

string

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

オペレーション

このリソースは、ネットワーク API 呼び出しの結果の長時間実行オペレーションを示します。

フィールド
name

string

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

metadata

Any

オペレーションに関連付けられているサービス固有のメタデータ。通常は進捗情報や、作成日時などの共通メタデータが含まれます。一部のサービスでは、このようなメタデータが提供されないこともあります。メタデータがある場合、長時間実行オペレーションを返すメソッドでは、メタデータの型をドキュメント化しておく必要があります。

done

bool

値が false の場合は、オペレーションが進行中であることを意味します。true の場合、オペレーションは完了しており、error または response が利用可能です。

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

Status

失敗またはキャンセルされた場合のオペレーションのエラー結果。

response

Any

オペレーションの通常の成功レスポンス。元のメソッドで成功時にデータが返されない場合(Delete など)、レスポンスは google.protobuf.Empty になります。元のメソッドが標準の Get/Create/Update である場合、レスポンスはリソースになります。他のメソッドについては、レスポンスの型が XxxResponseXxx は元のメソッド名)になります。たとえば、元のメソッド名が TakeSnapshot() であれば、レスポンスのデータ型は TakeSnapshotResponse になると推測できます。

WaitOperationRequest

Operations.WaitOperation に対するリクエスト メッセージ。

フィールド
name

string

待機するオペレーション リソースの名前。

timeout

Duration

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