public sealed class OperationsClientImpl : OperationsClient
Operations client wrapper implementation, for convenient use.
Namespace
Google.LongRunningAssembly
Google.LongRunning.dll
Remarks
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][google.longrunning.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
Google Cloud 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.
Constructors
OperationsClientImpl(Operations.OperationsClient, OperationsSettings)
public OperationsClientImpl(Operations.OperationsClient grpcClient, OperationsSettings settings)
Constructs a client wrapper for the Operations service, with the specified gRPC client and settings.
Parameters | |
---|---|
Name | Description |
grpcClient | Operations.OperationsClient The underlying gRPC client. |
settings | OperationsSettings The base OperationsSettings used within this client. |
Properties
Clock
public override IClock Clock { get; }
The clock used for timeouts, retries and polling.
Property Value | |
---|---|
Type | Description |
IClock |
DefaultPollSettings
public override PollSettings DefaultPollSettings { get; }
The poll settings used by default for repeated polling operations. May be null if no defaults have been set.
Property Value | |
---|---|
Type | Description |
PollSettings |
GrpcClient
public override Operations.OperationsClient GrpcClient { get; }
The underlying gRPC Operations client
Property Value | |
---|---|
Type | Description |
Operations.OperationsClient |
Scheduler
public override IScheduler Scheduler { get; }
The scheduler used for timeouts, retries and polling.
Property Value | |
---|---|
Type | Description |
IScheduler |
Methods
CancelOperation(CancelOperationRequest, CallSettings)
public override void CancelOperation(CancelOperationRequest request, CallSettings callSettings = null)
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not
guaranteed. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
. Clients can use
[Operations.GetOperation][google.longrunning.Operations.GetOperation] or
other 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
an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
corresponding to Code.CANCELLED
.
Parameters | |
---|---|
Name | Description |
request | CancelOperationRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
CancelOperationAsync(CancelOperationRequest, CallSettings)
public override Task CancelOperationAsync(CancelOperationRequest request, CallSettings callSettings = null)
Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not
guaranteed. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
. Clients can use
[Operations.GetOperation][google.longrunning.Operations.GetOperation] or
other 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
an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
corresponding to Code.CANCELLED
.
Parameters | |
---|---|
Name | Description |
request | CancelOperationRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
Returns | |
---|---|
Type | Description |
Task | A Task containing the RPC response. |
DeleteOperation(DeleteOperationRequest, CallSettings)
public override void DeleteOperation(DeleteOperationRequest request, CallSettings callSettings = null)
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. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
Parameters | |
---|---|
Name | Description |
request | DeleteOperationRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
DeleteOperationAsync(DeleteOperationRequest, CallSettings)
public override Task DeleteOperationAsync(DeleteOperationRequest request, CallSettings callSettings = null)
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. If the server doesn't support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
Parameters | |
---|---|
Name | Description |
request | DeleteOperationRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
Returns | |
---|---|
Type | Description |
Task | A Task containing the RPC response. |
GetEffectiveCallSettingsForGetOperation(CallSettings)
protected override CallSettings GetEffectiveCallSettingsForGetOperation(CallSettings callSettings)
Return the CallSettings that would be used by a call to GetOperation(GetOperationRequest, CallSettings), using the base settings of this client and the specified per-call overrides.
Parameter | |
---|---|
Name | Description |
callSettings | CallSettings The per-call override, if any. |
Returns | |
---|---|
Type | Description |
CallSettings | The effective call settings for a GetOperation RPC. |
This method is used when polling, to determine the appropriate timeout and cancellation token to use for each call.
GetOperation(GetOperationRequest, CallSettings)
public override Operation GetOperation(GetOperationRequest request, CallSettings callSettings = null)
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.
Parameters | |
---|---|
Name | Description |
request | GetOperationRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
Returns | |
---|---|
Type | Description |
Operation | The RPC response. |
GetOperationAsync(GetOperationRequest, CallSettings)
public override Task<Operation> GetOperationAsync(GetOperationRequest request, CallSettings callSettings = null)
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.
Parameters | |
---|---|
Name | Description |
request | GetOperationRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
Returns | |
---|---|
Type | Description |
Task<Operation> | A Task containing the RPC response. |
ListOperations(ListOperationsRequest, CallSettings)
public override PagedEnumerable<ListOperationsResponse, Operation> ListOperations(ListOperationsRequest request, CallSettings callSettings = null)
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
NOTE: the name
binding allows API services to override the binding
to use different resource name schemes, such as users/*/operations
. To
override the binding, API services can add a binding such as
"/v1/{name=users/*}/operations"
to their service configuration.
For backwards compatibility, the default name includes the operations
collection id, however overriding users must ensure the name binding
is the parent resource, without the operations collection id.
Parameters | |
---|---|
Name | Description |
request | ListOperationsRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
Returns | |
---|---|
Type | Description |
PagedEnumerable<ListOperationsResponse, Operation> | A pageable sequence of Operation resources. |
ListOperationsAsync(ListOperationsRequest, CallSettings)
public override PagedAsyncEnumerable<ListOperationsResponse, Operation> ListOperationsAsync(ListOperationsRequest request, CallSettings callSettings = null)
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
NOTE: the name
binding allows API services to override the binding
to use different resource name schemes, such as users/*/operations
. To
override the binding, API services can add a binding such as
"/v1/{name=users/*}/operations"
to their service configuration.
For backwards compatibility, the default name includes the operations
collection id, however overriding users must ensure the name binding
is the parent resource, without the operations collection id.
Parameters | |
---|---|
Name | Description |
request | ListOperationsRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
Returns | |
---|---|
Type | Description |
PagedAsyncEnumerable<ListOperationsResponse, Operation> | A pageable asynchronous sequence of Operation resources. |
WaitOperation(WaitOperationRequest, CallSettings)
public override Operation WaitOperation(WaitOperationRequest request, CallSettings callSettings = null)
Waits until the specified long-running operation is done or reaches at most
a specified timeout, returning the latest state. If the operation is
already done, the latest state is immediately returned. If the timeout
specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
timeout is used. If the server does not support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
Note that this method is on a best-effort basis. It may return the latest
state before the specified timeout (including immediately), meaning even an
immediate response is no guarantee that the operation is done.
Parameters | |
---|---|
Name | Description |
request | WaitOperationRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
Returns | |
---|---|
Type | Description |
Operation | The RPC response. |
WaitOperationAsync(WaitOperationRequest, CallSettings)
public override Task<Operation> WaitOperationAsync(WaitOperationRequest request, CallSettings callSettings = null)
Waits until the specified long-running operation is done or reaches at most
a specified timeout, returning the latest state. If the operation is
already done, the latest state is immediately returned. If the timeout
specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
timeout is used. If the server does not support this method, it returns
google.rpc.Code.UNIMPLEMENTED
.
Note that this method is on a best-effort basis. It may return the latest
state before the specified timeout (including immediately), meaning even an
immediate response is no guarantee that the operation is done.
Parameters | |
---|---|
Name | Description |
request | WaitOperationRequest The request object containing all of the parameters for the API call. |
callSettings | CallSettings If not null, applies overrides to this RPC call. |
Returns | |
---|---|
Type | Description |
Task<Operation> | A Task containing the RPC response. |