Package google.longrunning

Index

Operations

Manages long-running operations with an API service.

When an API method normally takes long time to complete, it can be designed to return Operation to the client, and the client can use this interface to receive the real response asynchronously by polling the operation resource, or pass the operation resource to another API (such as Pub/Sub API) to receive the response. Any API service that returns long-running operations should implement the Operations interface so developers can have a consistent client experience.

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

Cancels a transfer. Use the transferOperations.get method to check if the cancellation succeeded or if the operation completed despite the cancel request.

When you cancel an operation, the currently running transfer is interrupted. For recurring transfer jobs, the next instance of the transfer job will still run. For example, if your job is configured to run every day at 1pm and you cancel Monday's operation at 1:05pm, Monday's transfer will stop. However, a transfer job will still be attempted on Tuesday.

This applies only to currently running operations. If an operation is not currently running, cancel does nothing.

When you cancel a job, the next job computes a delta of files and may repair any inconsistent state. For instance, if you run a job every day, and today's job found 10 new files and transferred five files before you canceled the job, tomorrow's transfer operation will compute a new delta with the five files that were not copied today plus any new files discovered tomorrow.

Authorization scopes

Requires the following OAuth scope:

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

For more information, see the Authentication Overview.

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

Authorization scopes

Requires the following OAuth scope:

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

For more information, see the Authentication Overview.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

Lists transfer operations. Operations are ordered by their creation time in reverse chronological order.

Authorization scopes

Requires the following OAuth scope:

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

For more information, see the Authentication Overview.

CancelOperationRequest

The request message for Operations.CancelOperation.

Fields
name

string

The name of the operation resource to be cancelled.

GetOperationRequest

The request message for Operations.GetOperation.

Fields
name

string

The name of the operation resource.

ListOperationsRequest

The request message for Operations.ListOperations.

Fields
name

string

Required. The name of the type being listed; must be transferOperations.

filter

string

Required. A list of query parameters specified as JSON text in the form of: {"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",...]}

Since jobNames, operationNames, and transferStatuses support multiple values, they must be specified with array notation. projectId is the only argument that is required. If specified, jobNamePattern and operationNamePattern must match the full job or operation name respectively. '*' is a wildcard matching 0 or more characters. minCreationTime and maxCreationTime should be timestamps encoded as a string in the RFC 3339 format. The valid values for transferStatuses are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.

page_size

int32

The list page size. The max allowed value is 256.

page_token

string

The list page token.

ListOperationsResponse

The response message for Operations.ListOperations.

Fields
operations[]

Operation

A list of operations that matches the specified filter in the request.

next_page_token

string

The standard List next-page token.

Operation

This resource represents a long-running operation that is the result of a network API call.

Fields
name

string

The server-assigned unique name. The format of name is transferOperations/some/unique/name.

metadata

Any

Represents the transfer operation object. To request a TransferOperation object, use transferOperations.get.

done

bool

If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.

Union field result. The operation result, which can be either an error or a valid response. If done == false, neither error nor response is set. If done == true, exactly one of error or response can be set. Some services might not provide the result. result can be only one of the following:
error

Status

The error result of the operation in case of failure or cancellation.

response

Any

The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.