OperationsGapicClient
class OperationsGapicClient (View source)
Service Description: 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.
EXPERIMENTAL: This client library class has not yet been declared GA (1.0). This means that even though we intend the surface to be stable, we may make backwards incompatible changes if necessary.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
$options = [
'apiEndpoint' => 'my-service-address',
'scopes' => ['my-service-scope'],
];
$operationsClient = new OperationsClient($options);
try {
$name = '';
$response = $operationsClient->getOperation($name);
} finally {
if (isset($operationsClient)) {
$operationsClient->close();
}
}
Traits
Common functions used to work with various clients.
Provides basic array helper methods.
Provides helper methods for gRPC support.
Constants
SERVICE_NAME |
The name of the service. |
DEFAULT_SERVICE_PORT |
The default port of the service. |
CODEGEN_NAME |
The name of the code generator, to be included in the agent header. |
Methods
Initiates an orderly shutdown in which preexisting calls continue but new calls are immediately cancelled.
Constructor.
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.
Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns UNIMPLEMENTED
.
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
.
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
.
Details
static array
validate(array $arr, array $requiredKeys)
No description
static array
validateNotNull(array $arr, array $requiredKeys)
No description
close()
Initiates an orderly shutdown in which preexisting calls continue but new calls are immediately cancelled.
__construct(array $options = [])
Constructor.
Operation
getOperation(string $name, array $optionalArgs = [])
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.
Sample code:
$options = [
'apiEndpoint' => 'my-service-address',
'scopes' => ['my-service-scope'],
];
$operationsClient = new OperationsClient($options);
try {
$name = '';
$response = $operationsClient->getOperation($name);
} finally {
if (isset($operationsClient)) {
$operationsClient->close();
}
}
PagedListResponse
listOperations(string $name, string $filter, array $optionalArgs = [])
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 below allows API services to override the binding
to use different resource name schemes, such as users/*/operations
.
Sample code:
$options = [
'apiEndpoint' => 'my-service-address',
'scopes' => ['my-service-scope'],
];
$operationsClient = new OperationsClient($options);
try {
$name = '';
$filter = '';
// Iterate through all elements
$pagedResponse = $operationsClient->listOperations($name, $filter);
foreach ($pagedResponse->iterateAllElements() as $element) {
// doSomethingWith($element);
}
// OR iterate over pages of elements
$pagedResponse = $operationsClient->listOperations($name, $filter);
foreach ($pagedResponse->iteratePages() as $page) {
foreach ($page as $element) {
// doSomethingWith($element);
}
}
} finally {
if (isset($operationsClient)) {
$operationsClient->close();
}
}
cancelOperation(string $name, array $optionalArgs = [])
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
.
Sample code:
$options = [
'apiEndpoint' => 'my-service-address',
'scopes' => ['my-service-scope'],
];
$operationsClient = new OperationsClient($options);
try {
$name = '';
$operationsClient->cancelOperation($name);
} finally {
if (isset($operationsClient)) {
$operationsClient->close();
}
}
deleteOperation(string $name, array $optionalArgs = [])
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
.
Sample code:
$options = [
'apiEndpoint' => 'my-service-address',
'scopes' => ['my-service-scope'],
];
$operationsClient = new OperationsClient($options);
try {
$name = '';
$operationsClient->deleteOperation($name);
} finally {
if (isset($operationsClient)) {
$operationsClient->close();
}
}