Long-Running Operations Client¶
Package for interacting with the google.longrunning.operations meta-API.
-
class
google.api_core.operations_v1.
OperationsClient
(channel, client_config={'interfaces': {'google.longrunning.Operations': {'methods': {'CancelOperation': {'retry_codes_name': 'idempotent', 'retry_params_name': 'default', 'timeout_millis': 60000}, 'DeleteOperation': {'retry_codes_name': 'idempotent', 'retry_params_name': 'default', 'timeout_millis': 60000}, 'GetOperation': {'retry_codes_name': 'idempotent', 'retry_params_name': 'default', 'timeout_millis': 60000}, 'ListOperations': {'retry_codes_name': 'idempotent', 'retry_params_name': 'default', 'timeout_millis': 60000}}, 'retry_codes': {'idempotent': ['DEADLINE_EXCEEDED', 'UNAVAILABLE'], 'non_idempotent': []}, 'retry_params': {'default': {'initial_retry_delay_millis': 100, 'initial_rpc_timeout_millis': 20000, 'max_retry_delay_millis': 60000, 'max_rpc_timeout_millis': 600000, 'retry_delay_multiplier': 1.3, 'rpc_timeout_multiplier': 1.0, 'total_timeout_millis': 600000}}}}})[source]¶ Bases:
object
Client for interacting with long-running operations within a service.
- Parameters
channel (grpc.Channel) – The gRPC channel associated with the service that implements the
google.longrunning.operations
interface.client_config (dict) – A dictionary of call options for each method. If not specified the default configuration is used.
-
cancel_operation
(name, retry=<object object>, timeout=<object object>)[source]¶ Starts asynchronous cancellation on a long-running operation.
The server makes a best effort to cancel the operation, but success is not guaranteed. Clients can use
get_operation()
or service- specific methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with anOperation.error
value with agoogle.rpc.Status.code
of1
, corresponding toCode.CANCELLED
.Example
>>> from google.api_core import operations_v1 >>> api = operations_v1.OperationsClient() >>> name = '' >>> api.cancel_operation(name)
- Parameters
name (str) – The name of the operation resource to be cancelled.
retry (google.api_core.retry.Retry) – The retry strategy to use when invoking the RPC. If unspecified, the default retry from the client configuration will be used. If
None
, then this method will not retry the RPC at all.timeout (float) – The amount of time in seconds to wait for the RPC to complete. Note that if
retry
is used, this timeout applies to each individual attempt and the overall time it takes for this method to complete may be longer. If unspecified, the the default timeout in the client configuration is used. IfNone
, then the RPC method will not time out.
- Raises
google.api_core.exceptions.MethodNotImplemented – If the server does not support this method. Services are not required to implement this method.
google.api_core.exceptions.GoogleAPICallError – If an error occurred while invoking the RPC, the appropriate
GoogleAPICallError
subclass will be raised.
-
delete_operation
(name, retry=<object object>, timeout=<object object>)[source]¶ Deletes a long-running operation.
This method indicates that the client is no longer interested in the operation result. It does not cancel the operation.
Example
>>> from google.api_core import operations_v1 >>> api = operations_v1.OperationsClient() >>> name = '' >>> api.delete_operation(name)
- Parameters
name (str) – The name of the operation resource to be deleted.
retry (google.api_core.retry.Retry) – The retry strategy to use when invoking the RPC. If unspecified, the default retry from the client configuration will be used. If
None
, then this method will not retry the RPC at all.timeout (float) – The amount of time in seconds to wait for the RPC to complete. Note that if
retry
is used, this timeout applies to each individual attempt and the overall time it takes for this method to complete may be longer. If unspecified, the the default timeout in the client configuration is used. IfNone
, then the RPC method will not time out.
- Raises
google.api_core.exceptions.MethodNotImplemented – If the server does not support this method. Services are not required to implement this method.
google.api_core.exceptions.GoogleAPICallError – If an error occurred while invoking the RPC, the appropriate
GoogleAPICallError
subclass will be raised.
-
get_operation
(name, retry=<object object>, timeout=<object object>)[source]¶ 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.
Example
>>> from google.api_core import operations_v1 >>> api = operations_v1.OperationsClient() >>> name = '' >>> response = api.get_operation(name)
- Parameters
name (str) – The name of the operation resource.
retry (google.api_core.retry.Retry) – The retry strategy to use when invoking the RPC. If unspecified, the default retry from the client configuration will be used. If
None
, then this method will not retry the RPC at all.timeout (float) – The amount of time in seconds to wait for the RPC to complete. Note that if
retry
is used, this timeout applies to each individual attempt and the overall time it takes for this method to complete may be longer. If unspecified, the the default timeout in the client configuration is used. IfNone
, then the RPC method will not time out.
- Returns
- The state of the
operation.
- Return type
google.longrunning.operations_pb2.Operation
- Raises
google.api_core.exceptions.GoogleAPICallError – If an error occurred while invoking the RPC, the appropriate
GoogleAPICallError
subclass will be raised.
-
list_operations
(name, filter_, retry=<object object>, timeout=<object object>)[source]¶ Lists operations that match the specified filter in the request.
Example
>>> from google.api_core import operations_v1 >>> api = operations_v1.OperationsClient() >>> name = '' >>> >>> # Iterate over all results >>> for operation in api.list_operations(name): >>> # process operation >>> pass >>> >>> # Or iterate over results one page at a time >>> iter = api.list_operations(name) >>> for page in iter.pages: >>> for operation in page: >>> # process operation >>> pass
- Parameters
name (str) – The name of the operation collection.
filter_ (str) – The standard list filter.
retry (google.api_core.retry.Retry) – The retry strategy to use when invoking the RPC. If unspecified, the default retry from the client configuration will be used. If
None
, then this method will not retry the RPC at all.timeout (float) – The amount of time in seconds to wait for the RPC to complete. Note that if
retry
is used, this timeout applies to each individual attempt and the overall time it takes for this method to complete may be longer. If unspecified, the the default timeout in the client configuration is used. IfNone
, then the RPC method will not time out.
- Returns
- An iterator that yields
google.longrunning.operations_pb2.Operation
instances.
- Return type
- Raises
google.api_core.exceptions.MethodNotImplemented – If the server does not support this method. Services are not required to implement this method.
google.api_core.exceptions.GoogleAPICallError – If an error occurred while invoking the RPC, the appropriate
GoogleAPICallError
subclass will be raised.