Package google.longrunning

インデックス

運用

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

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

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

転送をキャンセルします。transferOperations.get メソッドを使用して、キャンセルが成功したかどうか、または cancel リクエストにもかかわらずオペレーションが完了したかどうかを確認します。

オペレーションをキャンセルすると、現在実行中の転送が中断されます。定期的な転送ジョブの場合、転送ジョブの次のインスタンスは引き続き実行されます。たとえば、ジョブが毎日午後 1 時に実行されるように構成されていて、月曜日の処理を午後 1 時 5 分にキャンセルした場合、月曜日の転送は停止します。ただし、火曜日には転送ジョブが試行されます。

これは、現在実行中のオペレーションにのみ適用されます。オペレーションが現在実行されていない場合、cancel は何もしません。

ジョブをキャンセルすると、次のジョブでファイルのデルタが計算され、不整合な状態が修復される場合があります。たとえば、ジョブを毎日実行していて、今日のジョブで 10 個の新しいファイルが検出され、ジョブをキャンセルする前に 5 個のファイルが転送された場合、明日の転送オペレーションでは、今日コピーされなかった 5 個のファイルと、明日検出された新しいファイルで新しい差分計算が行われます。

認可スコープ

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

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

詳細については、Authentication Overview をご覧ください。

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

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

認可スコープ

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

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

詳細については、Authentication Overview をご覧ください。

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

転送オペレーションを一覧表示します。オペレーションは作成日時が新しい順に並べ替えられます。

認可スコープ

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

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

詳細については、Authentication Overview をご覧ください。

CancelOperationRequest

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

フィールド
name

string

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

GetOperationRequest

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

フィールド
name

string

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

ListOperationsRequest

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

フィールド
name

string

必須。一覧表示するタイプの名前。transferOperations にする必要があります。

filter

string

必須。{"projectId":"my_project_id", "jobNames":["jobid1","jobid2",...], "jobNamePattern": "job_name_pattern", "operationNames":["opid1","opid2",...], "operationNamePattern": "operation_name_pattern", "minCreationTime": "min_creation_time", "maxCreationTime": "max_creation_time", "transferStatuses":["status1","status2",...]} 形式の JSON テキストとして指定されたクエリ パラメータのリスト。

jobNamesoperationNamestransferStatuses は複数の値をサポートしているため、配列表記で指定する必要があります。projectId は唯一の必須引数です。指定する場合、jobNamePatternoperationNamePattern は、それぞれジョブ名またはオペレーション名の完全な名前と一致する必要があります。「*」は、0 個以上の文字に一致します。minCreationTimemaxCreationTime は、RFC 3339 形式の文字列としてエンコードされたタイムスタンプである必要があります。transferStatuses の有効な値は、IN_PROGRESSPAUSEDSUCCESSFAILEDABORTED です。大文字と小文字は区別されません。

page_size

int32

リストのページサイズ。許容される最大値は 256 です。

page_token

string

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

ListOperationsResponse

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

フィールド
operations[]

Operation

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

next_page_token

string

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

オペレーション

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

フィールド
name

string

サーバーによって割り当てられた一意の名前。name の形式は transferOperations/some/unique/name です。

metadata

Any

転送オペレーション オブジェクトを表します。TransferOperation オブジェクトをリクエストするには、transferOperations.get を使用します。

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 になると推測できます。