Skip to main content

Class: CloudOperationsClient

cloud.CloudOperationsClient

High level client for the Temporal Cloud API.

The Temporal Cloud Operations Client API is an experimental feature and may be subject to change.

Constructors

constructor

new CloudOperationsClient(options): CloudOperationsClient

Parameters

NameType
optionsCloudOperationsClientOptions

Returns

CloudOperationsClient

Properties

connection

Readonly connection: CloudOperationsConnection

The underlying connection used by this client.

Clients are cheap to create, but connections are expensive. Where it makes sense, a single connection may and should be reused by multiple CloudOperationsClients.


options

Readonly options: Readonly<CloudOperationsClientOptions>

Accessors

cloudService

get cloudService(): CloudService

Raw gRPC access to the Temporal Cloud Operations service.

NOTE: The Temporal Cloud Operations service API Version provided in options is not automatically set on requests made via the raw gRPC service object. If the namespace requires it, you may need to do the following:

const metadata: Metadata = { ['temporal-cloud-api-version']: apiVersion }
const response = await client.withMetadata(metadata, async () => {
return client.cloudService.getNamespace({ namespace });
});

Returns

CloudService

Methods

withAbortSignal

withAbortSignal<R>(abortSignal, fn): Promise<R>

Set an AbortSignal that, when aborted, cancels any ongoing service requests executed in fn's scope. This will locally result in the request call throwing a grpc.ServiceError|ServiceError with code grpc.status.CANCELLED|CANCELLED; see isGrpcCancelledError.

This method is only a convenience wrapper around CloudOperationsConnection.withAbortSignal.

Type parameters

Name
R

Parameters

NameType
abortSignalAbortSignal
fn() => Promise<R>

Returns

Promise<R>

value returned from fn

Example

const ctrl = new AbortController();
setTimeout(() => ctrl.abort(), 10_000);
// 👇 throws if incomplete by the timeout.
await conn.withAbortSignal(ctrl.signal, () => client.cloudService.getNamespace({ namespace }));

See

https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal


withDeadline

withDeadline<R>(deadline, fn): Promise<R>

Set a deadline for any service requests executed in fn's scope.

The deadline is a point in time after which any pending gRPC request will be considered as failed; this will locally result in the request call throwing a grpc.ServiceError|ServiceError with code grpc.status.DEADLINE_EXCEEDED|DEADLINE_EXCEEDED; see isGrpcDeadlineError.

It is stronly recommended to explicitly set deadlines. If no deadline is set, then it is possible for the client to end up waiting forever for a response.

This method is only a convenience wrapper around CloudOperationsConnection.withDeadline.

Type parameters

Name
R

Parameters

NameTypeDescription
deadlinenumber | Datea point in time after which the request will be considered as failed; either a Date object, or a number of milliseconds since the Unix epoch (UTC).
fn() => Promise<R>-

Returns

Promise<R>

the value returned from fn

See

https://grpc.io/docs/guides/deadlines/


withMetadata

withMetadata<R>(metadata, fn): Promise<R>

Set metadata for any service requests executed in fn's scope.

Type parameters

Name
R

Parameters

NameType
metadataMetadata
fn() => Promise<R>

Returns

Promise<R>

returned value of fn

This method is only a convenience wrapper around CloudOperationsConnection.withMetadata.