Class SubscriberServiceApiClient (3.0.0)

public abstract class SubscriberServiceApiClient

SubscriberServiceApi client wrapper, for convenient use.

Inheritance

Object > SubscriberServiceApiClient

Namespace

Google.Cloud.PubSub.V1

Assembly

Google.Cloud.PubSub.V1.dll

Remarks

The service that an application uses to manipulate subscriptions and to consume messages from a subscription via the Pull method or by establishing a bi-directional stream using the StreamingPull method.

Properties

DefaultEndpoint

public static string DefaultEndpoint { get; }

The default endpoint for the SubscriberServiceApi service, which is a host of "pubsub.googleapis.com" and a port of 443.

Property Value
TypeDescription
String

DefaultScopes

public static IReadOnlyList<string> DefaultScopes { get; }

The default SubscriberServiceApi scopes.

Property Value
TypeDescription
IReadOnlyList<String>
Remarks

GrpcClient

public virtual Subscriber.SubscriberClient GrpcClient { get; }

The underlying gRPC SubscriberServiceApi client

Property Value
TypeDescription
Subscriber.SubscriberClient

IAMPolicyClient

public virtual IAMPolicyClient IAMPolicyClient { get; }

The IAMPolicyClient associated with this client.

Property Value
TypeDescription
IAMPolicyClient

ServiceMetadata

public static ServiceMetadata ServiceMetadata { get; }

The service metadata associated with this client type.

Property Value
TypeDescription
ServiceMetadata

Methods

Acknowledge(AcknowledgeRequest, CallSettings)

public virtual void Acknowledge(AcknowledgeRequest request, CallSettings callSettings = null)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
requestAcknowledgeRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
AcknowledgeRequest request = new AcknowledgeRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    AckIds = { "", },
};
// Make the request
subscriberServiceApiClient.Acknowledge(request);

Acknowledge(SubscriptionName, IEnumerable<String>, CallSettings)

public virtual void Acknowledge(SubscriptionName subscription, IEnumerable<string> ackIds, CallSettings callSettings = null)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The subscription whose message is being acknowledged. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the Pull response. Must not be empty.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
IEnumerable<string> ackIds = new string[] { "", };
// Make the request
subscriberServiceApiClient.Acknowledge(subscription, ackIds);

Acknowledge(String, IEnumerable<String>, CallSettings)

public virtual void Acknowledge(string subscription, IEnumerable<string> ackIds, CallSettings callSettings = null)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
subscriptionString

Required. The subscription whose message is being acknowledged. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the Pull response. Must not be empty.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
IEnumerable<string> ackIds = new string[] { "", };
// Make the request
subscriberServiceApiClient.Acknowledge(subscription, ackIds);

AcknowledgeAsync(AcknowledgeRequest, CallSettings)

public virtual Task AcknowledgeAsync(AcknowledgeRequest request, CallSettings callSettings = null)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
requestAcknowledgeRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
AcknowledgeRequest request = new AcknowledgeRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    AckIds = { "", },
};
// Make the request
await subscriberServiceApiClient.AcknowledgeAsync(request);

AcknowledgeAsync(AcknowledgeRequest, CancellationToken)

public virtual Task AcknowledgeAsync(AcknowledgeRequest request, CancellationToken cancellationToken)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
requestAcknowledgeRequest

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
AcknowledgeRequest request = new AcknowledgeRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    AckIds = { "", },
};
// Make the request
await subscriberServiceApiClient.AcknowledgeAsync(request);

AcknowledgeAsync(SubscriptionName, IEnumerable<String>, CallSettings)

public virtual Task AcknowledgeAsync(SubscriptionName subscription, IEnumerable<string> ackIds, CallSettings callSettings = null)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The subscription whose message is being acknowledged. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the Pull response. Must not be empty.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
IEnumerable<string> ackIds = new string[] { "", };
// Make the request
await subscriberServiceApiClient.AcknowledgeAsync(subscription, ackIds);

AcknowledgeAsync(SubscriptionName, IEnumerable<String>, CancellationToken)

public virtual Task AcknowledgeAsync(SubscriptionName subscription, IEnumerable<string> ackIds, CancellationToken cancellationToken)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The subscription whose message is being acknowledged. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the Pull response. Must not be empty.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
IEnumerable<string> ackIds = new string[] { "", };
// Make the request
await subscriberServiceApiClient.AcknowledgeAsync(subscription, ackIds);

AcknowledgeAsync(String, IEnumerable<String>, CallSettings)

public virtual Task AcknowledgeAsync(string subscription, IEnumerable<string> ackIds, CallSettings callSettings = null)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
subscriptionString

Required. The subscription whose message is being acknowledged. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the Pull response. Must not be empty.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
IEnumerable<string> ackIds = new string[] { "", };
// Make the request
await subscriberServiceApiClient.AcknowledgeAsync(subscription, ackIds);

AcknowledgeAsync(String, IEnumerable<String>, CancellationToken)

public virtual Task AcknowledgeAsync(string subscription, IEnumerable<string> ackIds, CancellationToken cancellationToken)

Acknowledges the messages associated with the ack_ids in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription.

Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

Parameters
NameDescription
subscriptionString

Required. The subscription whose message is being acknowledged. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the Pull response. Must not be empty.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
IEnumerable<string> ackIds = new string[] { "", };
// Make the request
await subscriberServiceApiClient.AcknowledgeAsync(subscription, ackIds);

Create()

public static SubscriberServiceApiClient Create()

Synchronously creates a SubscriberServiceApiClient using the default credentials, endpoint and settings. To specify custom credentials or other settings, use SubscriberServiceApiClientBuilder.

Returns
TypeDescription
SubscriberServiceApiClient

The created SubscriberServiceApiClient.

CreateAsync(CancellationToken)

public static Task<SubscriberServiceApiClient> CreateAsync(CancellationToken cancellationToken = default(CancellationToken))

Asynchronously creates a SubscriberServiceApiClient using the default credentials, endpoint and settings. To specify custom credentials or other settings, use SubscriberServiceApiClientBuilder.

Parameter
NameDescription
cancellationTokenCancellationToken

The CancellationToken to use while creating the client.

Returns
TypeDescription
Task<SubscriberServiceApiClient>

The task representing the created SubscriberServiceApiClient.

CreateSnapshot(CreateSnapshotRequest, CallSettings)

public virtual Snapshot CreateSnapshot(CreateSnapshotRequest request, CallSettings callSettings = null)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
requestCreateSnapshotRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Snapshot

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
CreateSnapshotRequest request = new CreateSnapshotRequest
{
    SnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    Labels = { { "", "" }, },
};
// Make the request
Snapshot response = subscriberServiceApiClient.CreateSnapshot(request);

CreateSnapshot(SnapshotName, SubscriptionName, CallSettings)

public virtual Snapshot CreateSnapshot(SnapshotName name, SubscriptionName subscription, CallSettings callSettings = null)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameSnapshotName

Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the &lt;a href="https://cloud.google.com/pubsub/docs/admin#resource_names"&gt; resource name rules&lt;/a&gt;. Format is projects/{project}/snapshots/{snap}.

subscriptionSubscriptionName

Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the CreateSnapshot request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Snapshot

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
SnapshotName name = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
Snapshot response = subscriberServiceApiClient.CreateSnapshot(name, subscription);

CreateSnapshot(String, String, CallSettings)

public virtual Snapshot CreateSnapshot(string name, string subscription, CallSettings callSettings = null)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameString

Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the &lt;a href="https://cloud.google.com/pubsub/docs/admin#resource_names"&gt; resource name rules&lt;/a&gt;. Format is projects/{project}/snapshots/{snap}.

subscriptionString

Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the CreateSnapshot request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Snapshot

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string name = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
Snapshot response = subscriberServiceApiClient.CreateSnapshot(name, subscription);

CreateSnapshotAsync(CreateSnapshotRequest, CallSettings)

public virtual Task<Snapshot> CreateSnapshotAsync(CreateSnapshotRequest request, CallSettings callSettings = null)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
requestCreateSnapshotRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
CreateSnapshotRequest request = new CreateSnapshotRequest
{
    SnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    Labels = { { "", "" }, },
};
// Make the request
Snapshot response = await subscriberServiceApiClient.CreateSnapshotAsync(request);

CreateSnapshotAsync(CreateSnapshotRequest, CancellationToken)

public virtual Task<Snapshot> CreateSnapshotAsync(CreateSnapshotRequest request, CancellationToken cancellationToken)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
requestCreateSnapshotRequest

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
CreateSnapshotRequest request = new CreateSnapshotRequest
{
    SnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    Labels = { { "", "" }, },
};
// Make the request
Snapshot response = await subscriberServiceApiClient.CreateSnapshotAsync(request);

CreateSnapshotAsync(SnapshotName, SubscriptionName, CallSettings)

public virtual Task<Snapshot> CreateSnapshotAsync(SnapshotName name, SubscriptionName subscription, CallSettings callSettings = null)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameSnapshotName

Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the &lt;a href="https://cloud.google.com/pubsub/docs/admin#resource_names"&gt; resource name rules&lt;/a&gt;. Format is projects/{project}/snapshots/{snap}.

subscriptionSubscriptionName

Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the CreateSnapshot request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SnapshotName name = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
Snapshot response = await subscriberServiceApiClient.CreateSnapshotAsync(name, subscription);

CreateSnapshotAsync(SnapshotName, SubscriptionName, CancellationToken)

public virtual Task<Snapshot> CreateSnapshotAsync(SnapshotName name, SubscriptionName subscription, CancellationToken cancellationToken)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameSnapshotName

Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the &lt;a href="https://cloud.google.com/pubsub/docs/admin#resource_names"&gt; resource name rules&lt;/a&gt;. Format is projects/{project}/snapshots/{snap}.

subscriptionSubscriptionName

Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the CreateSnapshot request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is projects/{project}/subscriptions/{sub}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SnapshotName name = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
Snapshot response = await subscriberServiceApiClient.CreateSnapshotAsync(name, subscription);

CreateSnapshotAsync(String, String, CallSettings)

public virtual Task<Snapshot> CreateSnapshotAsync(string name, string subscription, CallSettings callSettings = null)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameString

Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the &lt;a href="https://cloud.google.com/pubsub/docs/admin#resource_names"&gt; resource name rules&lt;/a&gt;. Format is projects/{project}/snapshots/{snap}.

subscriptionString

Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the CreateSnapshot request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string name = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
Snapshot response = await subscriberServiceApiClient.CreateSnapshotAsync(name, subscription);

CreateSnapshotAsync(String, String, CancellationToken)

public virtual Task<Snapshot> CreateSnapshotAsync(string name, string subscription, CancellationToken cancellationToken)

Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns ALREADY_EXISTS. If the requested subscription doesn't exist, returns NOT_FOUND. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION is returned. See also the Snapshot.expire_time field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the resource name format. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameString

Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the &lt;a href="https://cloud.google.com/pubsub/docs/admin#resource_names"&gt; resource name rules&lt;/a&gt;. Format is projects/{project}/snapshots/{snap}.

subscriptionString

Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the CreateSnapshot request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is projects/{project}/subscriptions/{sub}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string name = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
Snapshot response = await subscriberServiceApiClient.CreateSnapshotAsync(name, subscription);

CreateSubscription(Subscription, CallSettings)

public virtual Subscription CreateSubscription(Subscription request, CallSettings callSettings = null)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
requestSubscription

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Subscription

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
Subscription request = new Subscription
{
    SubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    TopicAsTopicName = TopicName.FromProjectTopic("[PROJECT]", "[TOPIC]"),
    PushConfig = new PushConfig(),
    AckDeadlineSeconds = 0,
    RetainAckedMessages = false,
    MessageRetentionDuration = new Duration(),
    Labels = { { "", "" }, },
    EnableMessageOrdering = false,
    ExpirationPolicy = new ExpirationPolicy(),
    Filter = "",
    DeadLetterPolicy = new DeadLetterPolicy(),
    RetryPolicy = new RetryPolicy(),
    Detached = false,
    EnableExactlyOnceDelivery = false,
    TopicMessageRetentionDuration = new Duration(),
    BigqueryConfig = new BigQueryConfig(),
    State = Subscription.Types.State.Unspecified,
};
// Make the request
Subscription response = subscriberServiceApiClient.CreateSubscription(request);

CreateSubscription(SubscriptionName, TopicName, PushConfig, Int32, CallSettings)

public virtual Subscription CreateSubscription(SubscriptionName name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds, CallSettings callSettings = null)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameSubscriptionName

Required. The name of the subscription. It must have the format &quot;projects/{project}/subscriptions/{subscription}&quot;. {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with &quot;goog&quot;.

topicTopicName

Required. The name of the topic from which this subscription is receiving messages. Format is projects/{project}/topics/{topic}. The value of this field will be _deleted-topic_ if the topic has been deleted.

pushConfigPushConfig

If push delivery is used with this subscription, this field is used to configure it. Either pushConfig or bigQueryConfig can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods.

ackDeadlineSecondsInt32

The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the message will not be redelivered (on a best-effort basis).

For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call ModifyAckDeadline with the corresponding ack_id if using non-streaming pull or send the ack_id in a StreamingModifyAckDeadlineRequest if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used.

For push delivery, this value is also used to set the request timeout for the call to the push endpoint.

If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Subscription

The RPC response.

Example
SubscriberServiceApiClient client = SubscriberServiceApiClient.Create();

SubscriptionName subscriptionName = new SubscriptionName(projectId, subscriptionId);
TopicName topicName = new TopicName(projectId, topicId);
Subscription subscription = client.CreateSubscription(
    subscriptionName, topicName, pushConfig: null, ackDeadlineSeconds: 30);
Console.WriteLine($"Created {subscription.Name} subscribed to {subscription.Topic}");

CreateSubscription(String, String, PushConfig, Int32, CallSettings)

public virtual Subscription CreateSubscription(string name, string topic, PushConfig pushConfig, int ackDeadlineSeconds, CallSettings callSettings = null)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameString

Required. The name of the subscription. It must have the format &quot;projects/{project}/subscriptions/{subscription}&quot;. {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with &quot;goog&quot;.

topicString

Required. The name of the topic from which this subscription is receiving messages. Format is projects/{project}/topics/{topic}. The value of this field will be _deleted-topic_ if the topic has been deleted.

pushConfigPushConfig

If push delivery is used with this subscription, this field is used to configure it. Either pushConfig or bigQueryConfig can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods.

ackDeadlineSecondsInt32

The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the message will not be redelivered (on a best-effort basis).

For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call ModifyAckDeadline with the corresponding ack_id if using non-streaming pull or send the ack_id in a StreamingModifyAckDeadlineRequest if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used.

For push delivery, this value is also used to set the request timeout for the call to the push endpoint.

If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Subscription

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string name = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
string topic = "projects/[PROJECT]/topics/[TOPIC]";
PushConfig pushConfig = new PushConfig();
int ackDeadlineSeconds = 0;
// Make the request
Subscription response = subscriberServiceApiClient.CreateSubscription(name, topic, pushConfig, ackDeadlineSeconds);

CreateSubscriptionAsync(Subscription, CallSettings)

public virtual Task<Subscription> CreateSubscriptionAsync(Subscription request, CallSettings callSettings = null)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
requestSubscription

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
Subscription request = new Subscription
{
    SubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    TopicAsTopicName = TopicName.FromProjectTopic("[PROJECT]", "[TOPIC]"),
    PushConfig = new PushConfig(),
    AckDeadlineSeconds = 0,
    RetainAckedMessages = false,
    MessageRetentionDuration = new Duration(),
    Labels = { { "", "" }, },
    EnableMessageOrdering = false,
    ExpirationPolicy = new ExpirationPolicy(),
    Filter = "",
    DeadLetterPolicy = new DeadLetterPolicy(),
    RetryPolicy = new RetryPolicy(),
    Detached = false,
    EnableExactlyOnceDelivery = false,
    TopicMessageRetentionDuration = new Duration(),
    BigqueryConfig = new BigQueryConfig(),
    State = Subscription.Types.State.Unspecified,
};
// Make the request
Subscription response = await subscriberServiceApiClient.CreateSubscriptionAsync(request);

CreateSubscriptionAsync(Subscription, CancellationToken)

public virtual Task<Subscription> CreateSubscriptionAsync(Subscription request, CancellationToken cancellationToken)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
requestSubscription

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
Subscription request = new Subscription
{
    SubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    TopicAsTopicName = TopicName.FromProjectTopic("[PROJECT]", "[TOPIC]"),
    PushConfig = new PushConfig(),
    AckDeadlineSeconds = 0,
    RetainAckedMessages = false,
    MessageRetentionDuration = new Duration(),
    Labels = { { "", "" }, },
    EnableMessageOrdering = false,
    ExpirationPolicy = new ExpirationPolicy(),
    Filter = "",
    DeadLetterPolicy = new DeadLetterPolicy(),
    RetryPolicy = new RetryPolicy(),
    Detached = false,
    EnableExactlyOnceDelivery = false,
    TopicMessageRetentionDuration = new Duration(),
    BigqueryConfig = new BigQueryConfig(),
    State = Subscription.Types.State.Unspecified,
};
// Make the request
Subscription response = await subscriberServiceApiClient.CreateSubscriptionAsync(request);

CreateSubscriptionAsync(SubscriptionName, TopicName, PushConfig, Int32, CallSettings)

public virtual Task<Subscription> CreateSubscriptionAsync(SubscriptionName name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds, CallSettings callSettings = null)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameSubscriptionName

Required. The name of the subscription. It must have the format &quot;projects/{project}/subscriptions/{subscription}&quot;. {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with &quot;goog&quot;.

topicTopicName

Required. The name of the topic from which this subscription is receiving messages. Format is projects/{project}/topics/{topic}. The value of this field will be _deleted-topic_ if the topic has been deleted.

pushConfigPushConfig

If push delivery is used with this subscription, this field is used to configure it. Either pushConfig or bigQueryConfig can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods.

ackDeadlineSecondsInt32

The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the message will not be redelivered (on a best-effort basis).

For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call ModifyAckDeadline with the corresponding ack_id if using non-streaming pull or send the ack_id in a StreamingModifyAckDeadlineRequest if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used.

For push delivery, this value is also used to set the request timeout for the call to the push endpoint.

If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
SubscriberServiceApiClient client = SubscriberServiceApiClient.Create();

SubscriptionName subscriptionName = new SubscriptionName(projectId, subscriptionId);
TopicName topicName = new TopicName(projectId, topicId);
Subscription subscription = await client.CreateSubscriptionAsync(
    subscriptionName, topicName, pushConfig: null, ackDeadlineSeconds: 30);
Console.WriteLine($"Created {subscription.Name} subscribed to {subscription.Topic}");

CreateSubscriptionAsync(SubscriptionName, TopicName, PushConfig, Int32, CancellationToken)

public virtual Task<Subscription> CreateSubscriptionAsync(SubscriptionName name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds, CancellationToken cancellationToken)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameSubscriptionName

Required. The name of the subscription. It must have the format &quot;projects/{project}/subscriptions/{subscription}&quot;. {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with &quot;goog&quot;.

topicTopicName

Required. The name of the topic from which this subscription is receiving messages. Format is projects/{project}/topics/{topic}. The value of this field will be _deleted-topic_ if the topic has been deleted.

pushConfigPushConfig

If push delivery is used with this subscription, this field is used to configure it. Either pushConfig or bigQueryConfig can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods.

ackDeadlineSecondsInt32

The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the message will not be redelivered (on a best-effort basis).

For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call ModifyAckDeadline with the corresponding ack_id if using non-streaming pull or send the ack_id in a StreamingModifyAckDeadlineRequest if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used.

For push delivery, this value is also used to set the request timeout for the call to the push endpoint.

If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
SubscriberServiceApiClient client = SubscriberServiceApiClient.Create();

SubscriptionName subscriptionName = new SubscriptionName(projectId, subscriptionId);
TopicName topicName = new TopicName(projectId, topicId);
Subscription subscription = await client.CreateSubscriptionAsync(
    subscriptionName, topicName, pushConfig: null, ackDeadlineSeconds: 30);
Console.WriteLine($"Created {subscription.Name} subscribed to {subscription.Topic}");

CreateSubscriptionAsync(String, String, PushConfig, Int32, CallSettings)

public virtual Task<Subscription> CreateSubscriptionAsync(string name, string topic, PushConfig pushConfig, int ackDeadlineSeconds, CallSettings callSettings = null)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameString

Required. The name of the subscription. It must have the format &quot;projects/{project}/subscriptions/{subscription}&quot;. {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with &quot;goog&quot;.

topicString

Required. The name of the topic from which this subscription is receiving messages. Format is projects/{project}/topics/{topic}. The value of this field will be _deleted-topic_ if the topic has been deleted.

pushConfigPushConfig

If push delivery is used with this subscription, this field is used to configure it. Either pushConfig or bigQueryConfig can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods.

ackDeadlineSecondsInt32

The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the message will not be redelivered (on a best-effort basis).

For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call ModifyAckDeadline with the corresponding ack_id if using non-streaming pull or send the ack_id in a StreamingModifyAckDeadlineRequest if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used.

For push delivery, this value is also used to set the request timeout for the call to the push endpoint.

If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string name = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
string topic = "projects/[PROJECT]/topics/[TOPIC]";
PushConfig pushConfig = new PushConfig();
int ackDeadlineSeconds = 0;
// Make the request
Subscription response = await subscriberServiceApiClient.CreateSubscriptionAsync(name, topic, pushConfig, ackDeadlineSeconds);

CreateSubscriptionAsync(String, String, PushConfig, Int32, CancellationToken)

public virtual Task<Subscription> CreateSubscriptionAsync(string name, string topic, PushConfig pushConfig, int ackDeadlineSeconds, CancellationToken cancellationToken)

Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND.

If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.

Parameters
NameDescription
nameString

Required. The name of the subscription. It must have the format &quot;projects/{project}/subscriptions/{subscription}&quot;. {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9]), dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with &quot;goog&quot;.

topicString

Required. The name of the topic from which this subscription is receiving messages. Format is projects/{project}/topics/{topic}. The value of this field will be _deleted-topic_ if the topic has been deleted.

pushConfigPushConfig

If push delivery is used with this subscription, this field is used to configure it. Either pushConfig or bigQueryConfig can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods.

ackDeadlineSecondsInt32

The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be &lt;i&gt;outstanding&lt;/i&gt;. During that time period, the message will not be redelivered (on a best-effort basis).

For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call ModifyAckDeadline with the corresponding ack_id if using non-streaming pull or send the ack_id in a StreamingModifyAckDeadlineRequest if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used.

For push delivery, this value is also used to set the request timeout for the call to the push endpoint.

If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string name = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
string topic = "projects/[PROJECT]/topics/[TOPIC]";
PushConfig pushConfig = new PushConfig();
int ackDeadlineSeconds = 0;
// Make the request
Subscription response = await subscriberServiceApiClient.CreateSubscriptionAsync(name, topic, pushConfig, ackDeadlineSeconds);

DeleteSnapshot(DeleteSnapshotRequest, CallSettings)

public virtual void DeleteSnapshot(DeleteSnapshotRequest request, CallSettings callSettings = null)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
requestDeleteSnapshotRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
DeleteSnapshotRequest request = new DeleteSnapshotRequest
{
    SnapshotAsSnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
};
// Make the request
subscriberServiceApiClient.DeleteSnapshot(request);

DeleteSnapshot(SnapshotName, CallSettings)

public virtual void DeleteSnapshot(SnapshotName snapshot, CallSettings callSettings = null)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
snapshotSnapshotName

Required. The name of the snapshot to delete. Format is projects/{project}/snapshots/{snap}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
SnapshotName snapshot = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
// Make the request
subscriberServiceApiClient.DeleteSnapshot(snapshot);

DeleteSnapshot(String, CallSettings)

public virtual void DeleteSnapshot(string snapshot, CallSettings callSettings = null)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
snapshotString

Required. The name of the snapshot to delete. Format is projects/{project}/snapshots/{snap}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string snapshot = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
// Make the request
subscriberServiceApiClient.DeleteSnapshot(snapshot);

DeleteSnapshotAsync(DeleteSnapshotRequest, CallSettings)

public virtual Task DeleteSnapshotAsync(DeleteSnapshotRequest request, CallSettings callSettings = null)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
requestDeleteSnapshotRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
DeleteSnapshotRequest request = new DeleteSnapshotRequest
{
    SnapshotAsSnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
};
// Make the request
await subscriberServiceApiClient.DeleteSnapshotAsync(request);

DeleteSnapshotAsync(DeleteSnapshotRequest, CancellationToken)

public virtual Task DeleteSnapshotAsync(DeleteSnapshotRequest request, CancellationToken cancellationToken)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
requestDeleteSnapshotRequest

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
DeleteSnapshotRequest request = new DeleteSnapshotRequest
{
    SnapshotAsSnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
};
// Make the request
await subscriberServiceApiClient.DeleteSnapshotAsync(request);

DeleteSnapshotAsync(SnapshotName, CallSettings)

public virtual Task DeleteSnapshotAsync(SnapshotName snapshot, CallSettings callSettings = null)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
snapshotSnapshotName

Required. The name of the snapshot to delete. Format is projects/{project}/snapshots/{snap}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SnapshotName snapshot = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
// Make the request
await subscriberServiceApiClient.DeleteSnapshotAsync(snapshot);

DeleteSnapshotAsync(SnapshotName, CancellationToken)

public virtual Task DeleteSnapshotAsync(SnapshotName snapshot, CancellationToken cancellationToken)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
snapshotSnapshotName

Required. The name of the snapshot to delete. Format is projects/{project}/snapshots/{snap}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SnapshotName snapshot = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
// Make the request
await subscriberServiceApiClient.DeleteSnapshotAsync(snapshot);

DeleteSnapshotAsync(String, CallSettings)

public virtual Task DeleteSnapshotAsync(string snapshot, CallSettings callSettings = null)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
snapshotString

Required. The name of the snapshot to delete. Format is projects/{project}/snapshots/{snap}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string snapshot = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
// Make the request
await subscriberServiceApiClient.DeleteSnapshotAsync(snapshot);

DeleteSnapshotAsync(String, CancellationToken)

public virtual Task DeleteSnapshotAsync(string snapshot, CancellationToken cancellationToken)

Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.

Parameters
NameDescription
snapshotString

Required. The name of the snapshot to delete. Format is projects/{project}/snapshots/{snap}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string snapshot = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
// Make the request
await subscriberServiceApiClient.DeleteSnapshotAsync(snapshot);

DeleteSubscription(DeleteSubscriptionRequest, CallSettings)

public virtual void DeleteSubscription(DeleteSubscriptionRequest request, CallSettings callSettings = null)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
requestDeleteSubscriptionRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
DeleteSubscriptionRequest request = new DeleteSubscriptionRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
};
// Make the request
subscriberServiceApiClient.DeleteSubscription(request);

DeleteSubscription(SubscriptionName, CallSettings)

public virtual void DeleteSubscription(SubscriptionName subscription, CallSettings callSettings = null)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The subscription to delete. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
subscriberServiceApiClient.DeleteSubscription(subscription);

DeleteSubscription(String, CallSettings)

public virtual void DeleteSubscription(string subscription, CallSettings callSettings = null)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
subscriptionString

Required. The subscription to delete. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
subscriberServiceApiClient.DeleteSubscription(subscription);

DeleteSubscriptionAsync(DeleteSubscriptionRequest, CallSettings)

public virtual Task DeleteSubscriptionAsync(DeleteSubscriptionRequest request, CallSettings callSettings = null)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
requestDeleteSubscriptionRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
DeleteSubscriptionRequest request = new DeleteSubscriptionRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
};
// Make the request
await subscriberServiceApiClient.DeleteSubscriptionAsync(request);

DeleteSubscriptionAsync(DeleteSubscriptionRequest, CancellationToken)

public virtual Task DeleteSubscriptionAsync(DeleteSubscriptionRequest request, CancellationToken cancellationToken)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
requestDeleteSubscriptionRequest

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
DeleteSubscriptionRequest request = new DeleteSubscriptionRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
};
// Make the request
await subscriberServiceApiClient.DeleteSubscriptionAsync(request);

DeleteSubscriptionAsync(SubscriptionName, CallSettings)

public virtual Task DeleteSubscriptionAsync(SubscriptionName subscription, CallSettings callSettings = null)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The subscription to delete. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
await subscriberServiceApiClient.DeleteSubscriptionAsync(subscription);

DeleteSubscriptionAsync(SubscriptionName, CancellationToken)

public virtual Task DeleteSubscriptionAsync(SubscriptionName subscription, CancellationToken cancellationToken)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The subscription to delete. Format is projects/{project}/subscriptions/{sub}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
await subscriberServiceApiClient.DeleteSubscriptionAsync(subscription);

DeleteSubscriptionAsync(String, CallSettings)

public virtual Task DeleteSubscriptionAsync(string subscription, CallSettings callSettings = null)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
subscriptionString

Required. The subscription to delete. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
await subscriberServiceApiClient.DeleteSubscriptionAsync(subscription);

DeleteSubscriptionAsync(String, CancellationToken)

public virtual Task DeleteSubscriptionAsync(string subscription, CancellationToken cancellationToken)

Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.

Parameters
NameDescription
subscriptionString

Required. The subscription to delete. Format is projects/{project}/subscriptions/{sub}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
await subscriberServiceApiClient.DeleteSubscriptionAsync(subscription);

GetSnapshot(GetSnapshotRequest, CallSettings)

public virtual Snapshot GetSnapshot(GetSnapshotRequest request, CallSettings callSettings = null)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
requestGetSnapshotRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Snapshot

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
GetSnapshotRequest request = new GetSnapshotRequest
{
    SnapshotAsSnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
};
// Make the request
Snapshot response = subscriberServiceApiClient.GetSnapshot(request);

GetSnapshot(SnapshotName, CallSettings)

public virtual Snapshot GetSnapshot(SnapshotName snapshot, CallSettings callSettings = null)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
snapshotSnapshotName

Required. The name of the snapshot to get. Format is projects/{project}/snapshots/{snap}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Snapshot

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
SnapshotName snapshot = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
// Make the request
Snapshot response = subscriberServiceApiClient.GetSnapshot(snapshot);

GetSnapshot(String, CallSettings)

public virtual Snapshot GetSnapshot(string snapshot, CallSettings callSettings = null)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
snapshotString

Required. The name of the snapshot to get. Format is projects/{project}/snapshots/{snap}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Snapshot

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string snapshot = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
// Make the request
Snapshot response = subscriberServiceApiClient.GetSnapshot(snapshot);

GetSnapshotAsync(GetSnapshotRequest, CallSettings)

public virtual Task<Snapshot> GetSnapshotAsync(GetSnapshotRequest request, CallSettings callSettings = null)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
requestGetSnapshotRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
GetSnapshotRequest request = new GetSnapshotRequest
{
    SnapshotAsSnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
};
// Make the request
Snapshot response = await subscriberServiceApiClient.GetSnapshotAsync(request);

GetSnapshotAsync(GetSnapshotRequest, CancellationToken)

public virtual Task<Snapshot> GetSnapshotAsync(GetSnapshotRequest request, CancellationToken cancellationToken)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
requestGetSnapshotRequest

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
GetSnapshotRequest request = new GetSnapshotRequest
{
    SnapshotAsSnapshotName = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]"),
};
// Make the request
Snapshot response = await subscriberServiceApiClient.GetSnapshotAsync(request);

GetSnapshotAsync(SnapshotName, CallSettings)

public virtual Task<Snapshot> GetSnapshotAsync(SnapshotName snapshot, CallSettings callSettings = null)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
snapshotSnapshotName

Required. The name of the snapshot to get. Format is projects/{project}/snapshots/{snap}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SnapshotName snapshot = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
// Make the request
Snapshot response = await subscriberServiceApiClient.GetSnapshotAsync(snapshot);

GetSnapshotAsync(SnapshotName, CancellationToken)

public virtual Task<Snapshot> GetSnapshotAsync(SnapshotName snapshot, CancellationToken cancellationToken)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
snapshotSnapshotName

Required. The name of the snapshot to get. Format is projects/{project}/snapshots/{snap}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SnapshotName snapshot = SnapshotName.FromProjectSnapshot("[PROJECT]", "[SNAPSHOT]");
// Make the request
Snapshot response = await subscriberServiceApiClient.GetSnapshotAsync(snapshot);

GetSnapshotAsync(String, CallSettings)

public virtual Task<Snapshot> GetSnapshotAsync(string snapshot, CallSettings callSettings = null)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
snapshotString

Required. The name of the snapshot to get. Format is projects/{project}/snapshots/{snap}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string snapshot = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
// Make the request
Snapshot response = await subscriberServiceApiClient.GetSnapshotAsync(snapshot);

GetSnapshotAsync(String, CancellationToken)

public virtual Task<Snapshot> GetSnapshotAsync(string snapshot, CancellationToken cancellationToken)

Gets the configuration details of a snapshot. Snapshots are used in &lt;a href="https://cloud.google.com/pubsub/docs/replay-overview"&gt;Seek&lt;/a&gt; operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
snapshotString

Required. The name of the snapshot to get. Format is projects/{project}/snapshots/{snap}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Snapshot>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string snapshot = "projects/[PROJECT]/snapshots/[SNAPSHOT]";
// Make the request
Snapshot response = await subscriberServiceApiClient.GetSnapshotAsync(snapshot);

GetSubscription(GetSubscriptionRequest, CallSettings)

public virtual Subscription GetSubscription(GetSubscriptionRequest request, CallSettings callSettings = null)

Gets the configuration details of a subscription.

Parameters
NameDescription
requestGetSubscriptionRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Subscription

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
GetSubscriptionRequest request = new GetSubscriptionRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
};
// Make the request
Subscription response = subscriberServiceApiClient.GetSubscription(request);

GetSubscription(SubscriptionName, CallSettings)

public virtual Subscription GetSubscription(SubscriptionName subscription, CallSettings callSettings = null)

Gets the configuration details of a subscription.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription to get. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Subscription

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
Subscription response = subscriberServiceApiClient.GetSubscription(subscription);

GetSubscription(String, CallSettings)

public virtual Subscription GetSubscription(string subscription, CallSettings callSettings = null)

Gets the configuration details of a subscription.

Parameters
NameDescription
subscriptionString

Required. The name of the subscription to get. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Subscription

The RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
Subscription response = subscriberServiceApiClient.GetSubscription(subscription);

GetSubscriptionAsync(GetSubscriptionRequest, CallSettings)

public virtual Task<Subscription> GetSubscriptionAsync(GetSubscriptionRequest request, CallSettings callSettings = null)

Gets the configuration details of a subscription.

Parameters
NameDescription
requestGetSubscriptionRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
GetSubscriptionRequest request = new GetSubscriptionRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
};
// Make the request
Subscription response = await subscriberServiceApiClient.GetSubscriptionAsync(request);

GetSubscriptionAsync(GetSubscriptionRequest, CancellationToken)

public virtual Task<Subscription> GetSubscriptionAsync(GetSubscriptionRequest request, CancellationToken cancellationToken)

Gets the configuration details of a subscription.

Parameters
NameDescription
requestGetSubscriptionRequest

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
GetSubscriptionRequest request = new GetSubscriptionRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
};
// Make the request
Subscription response = await subscriberServiceApiClient.GetSubscriptionAsync(request);

GetSubscriptionAsync(SubscriptionName, CallSettings)

public virtual Task<Subscription> GetSubscriptionAsync(SubscriptionName subscription, CallSettings callSettings = null)

Gets the configuration details of a subscription.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription to get. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
Subscription response = await subscriberServiceApiClient.GetSubscriptionAsync(subscription);

GetSubscriptionAsync(SubscriptionName, CancellationToken)

public virtual Task<Subscription> GetSubscriptionAsync(SubscriptionName subscription, CancellationToken cancellationToken)

Gets the configuration details of a subscription.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription to get. Format is projects/{project}/subscriptions/{sub}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
// Make the request
Subscription response = await subscriberServiceApiClient.GetSubscriptionAsync(subscription);

GetSubscriptionAsync(String, CallSettings)

public virtual Task<Subscription> GetSubscriptionAsync(string subscription, CallSettings callSettings = null)

Gets the configuration details of a subscription.

Parameters
NameDescription
subscriptionString

Required. The name of the subscription to get. Format is projects/{project}/subscriptions/{sub}.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
Subscription response = await subscriberServiceApiClient.GetSubscriptionAsync(subscription);

GetSubscriptionAsync(String, CancellationToken)

public virtual Task<Subscription> GetSubscriptionAsync(string subscription, CancellationToken cancellationToken)

Gets the configuration details of a subscription.

Parameters
NameDescription
subscriptionString

Required. The name of the subscription to get. Format is projects/{project}/subscriptions/{sub}.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task<Subscription>

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
// Make the request
Subscription response = await subscriberServiceApiClient.GetSubscriptionAsync(subscription);

ListSnapshots(ProjectName, String, Nullable<Int32>, CallSettings)

public virtual PagedEnumerable<ListSnapshotsResponse, Snapshot> ListSnapshots(ProjectName project, string pageToken = null, int? pageSize = null, CallSettings callSettings = null)

Lists the existing snapshots. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
projectProjectName

Required. The name of the project in which to list snapshots. Format is projects/{project-id}.

pageTokenString

The token returned from the previous request. A value of null or an empty string retrieves the first page.

pageSizeNullable<Int32>

The size of page to request. The response will not be larger than this, but may be smaller. A value of null or 0 uses a server-defined page size.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerable<ListSnapshotsResponse, Snapshot>

A pageable sequence of Snapshot resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
ProjectName project = ProjectName.FromProject("[PROJECT]");
// Make the request
PagedEnumerable<ListSnapshotsResponse, Snapshot> response = subscriberServiceApiClient.ListSnapshots(project);

// Iterate over all response items, lazily performing RPCs as required
foreach (Snapshot item in response)
{
    // Do something with each item
    Console.WriteLine(item);
}

// Or iterate over pages (of server-defined size), performing one RPC per page
foreach (ListSnapshotsResponse page in response.AsRawResponses())
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Snapshot item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
}

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Snapshot> singlePage = response.ReadPage(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Snapshot item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSnapshots(ListSnapshotsRequest, CallSettings)

public virtual PagedEnumerable<ListSnapshotsResponse, Snapshot> ListSnapshots(ListSnapshotsRequest request, CallSettings callSettings = null)

Lists the existing snapshots. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
requestListSnapshotsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerable<ListSnapshotsResponse, Snapshot>

A pageable sequence of Snapshot resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
ListSnapshotsRequest request = new ListSnapshotsRequest
{
    ProjectAsProjectName = ProjectName.FromProject("[PROJECT]"),
};
// Make the request
PagedEnumerable<ListSnapshotsResponse, Snapshot> response = subscriberServiceApiClient.ListSnapshots(request);

// Iterate over all response items, lazily performing RPCs as required
foreach (Snapshot item in response)
{
    // Do something with each item
    Console.WriteLine(item);
}

// Or iterate over pages (of server-defined size), performing one RPC per page
foreach (ListSnapshotsResponse page in response.AsRawResponses())
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Snapshot item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
}

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Snapshot> singlePage = response.ReadPage(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Snapshot item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSnapshots(String, String, Nullable<Int32>, CallSettings)

public virtual PagedEnumerable<ListSnapshotsResponse, Snapshot> ListSnapshots(string project, string pageToken = null, int? pageSize = null, CallSettings callSettings = null)

Lists the existing snapshots. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
projectString

Required. The name of the project in which to list snapshots. Format is projects/{project-id}.

pageTokenString

The token returned from the previous request. A value of null or an empty string retrieves the first page.

pageSizeNullable<Int32>

The size of page to request. The response will not be larger than this, but may be smaller. A value of null or 0 uses a server-defined page size.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerable<ListSnapshotsResponse, Snapshot>

A pageable sequence of Snapshot resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string project = "projects/[PROJECT]";
// Make the request
PagedEnumerable<ListSnapshotsResponse, Snapshot> response = subscriberServiceApiClient.ListSnapshots(project);

// Iterate over all response items, lazily performing RPCs as required
foreach (Snapshot item in response)
{
    // Do something with each item
    Console.WriteLine(item);
}

// Or iterate over pages (of server-defined size), performing one RPC per page
foreach (ListSnapshotsResponse page in response.AsRawResponses())
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Snapshot item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
}

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Snapshot> singlePage = response.ReadPage(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Snapshot item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSnapshotsAsync(ProjectName, String, Nullable<Int32>, CallSettings)

public virtual PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot> ListSnapshotsAsync(ProjectName project, string pageToken = null, int? pageSize = null, CallSettings callSettings = null)

Lists the existing snapshots. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
projectProjectName

Required. The name of the project in which to list snapshots. Format is projects/{project-id}.

pageTokenString

The token returned from the previous request. A value of null or an empty string retrieves the first page.

pageSizeNullable<Int32>

The size of page to request. The response will not be larger than this, but may be smaller. A value of null or 0 uses a server-defined page size.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot>

A pageable asynchronous sequence of Snapshot resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
ProjectName project = ProjectName.FromProject("[PROJECT]");
// Make the request
PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot> response = subscriberServiceApiClient.ListSnapshotsAsync(project);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((Snapshot item) =>
{
    // Do something with each item
    Console.WriteLine(item);
});

// Or iterate over pages (of server-defined size), performing one RPC per page
await response.AsRawResponses().ForEachAsync((ListSnapshotsResponse page) =>
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Snapshot item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
});

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Snapshot> singlePage = await response.ReadPageAsync(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Snapshot item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSnapshotsAsync(ListSnapshotsRequest, CallSettings)

public virtual PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot> ListSnapshotsAsync(ListSnapshotsRequest request, CallSettings callSettings = null)

Lists the existing snapshots. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
requestListSnapshotsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot>

A pageable asynchronous sequence of Snapshot resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
ListSnapshotsRequest request = new ListSnapshotsRequest
{
    ProjectAsProjectName = ProjectName.FromProject("[PROJECT]"),
};
// Make the request
PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot> response = subscriberServiceApiClient.ListSnapshotsAsync(request);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((Snapshot item) =>
{
    // Do something with each item
    Console.WriteLine(item);
});

// Or iterate over pages (of server-defined size), performing one RPC per page
await response.AsRawResponses().ForEachAsync((ListSnapshotsResponse page) =>
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Snapshot item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
});

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Snapshot> singlePage = await response.ReadPageAsync(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Snapshot item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSnapshotsAsync(String, String, Nullable<Int32>, CallSettings)

public virtual PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot> ListSnapshotsAsync(string project, string pageToken = null, int? pageSize = null, CallSettings callSettings = null)

Lists the existing snapshots. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.

Parameters
NameDescription
projectString

Required. The name of the project in which to list snapshots. Format is projects/{project-id}.

pageTokenString

The token returned from the previous request. A value of null or an empty string retrieves the first page.

pageSizeNullable<Int32>

The size of page to request. The response will not be larger than this, but may be smaller. A value of null or 0 uses a server-defined page size.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot>

A pageable asynchronous sequence of Snapshot resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string project = "projects/[PROJECT]";
// Make the request
PagedAsyncEnumerable<ListSnapshotsResponse, Snapshot> response = subscriberServiceApiClient.ListSnapshotsAsync(project);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((Snapshot item) =>
{
    // Do something with each item
    Console.WriteLine(item);
});

// Or iterate over pages (of server-defined size), performing one RPC per page
await response.AsRawResponses().ForEachAsync((ListSnapshotsResponse page) =>
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Snapshot item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
});

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Snapshot> singlePage = await response.ReadPageAsync(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Snapshot item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSubscriptions(ProjectName, String, Nullable<Int32>, CallSettings)

public virtual PagedEnumerable<ListSubscriptionsResponse, Subscription> ListSubscriptions(ProjectName project, string pageToken = null, int? pageSize = null, CallSettings callSettings = null)

Lists matching subscriptions.

Parameters
NameDescription
projectProjectName

Required. The name of the project in which to list subscriptions. Format is projects/{project-id}.

pageTokenString

The token returned from the previous request. A value of null or an empty string retrieves the first page.

pageSizeNullable<Int32>

The size of page to request. The response will not be larger than this, but may be smaller. A value of null or 0 uses a server-defined page size.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerable<ListSubscriptionsResponse, Subscription>

A pageable sequence of Subscription resources.

Example
SubscriberServiceApiClient client = SubscriberServiceApiClient.Create();

ProjectName projectName = new ProjectName(projectId);
foreach (Subscription subscription in client.ListSubscriptions(projectName))
{
    Console.WriteLine($"{subscription.Name} subscribed to {subscription.Topic}");
}

ListSubscriptions(ListSubscriptionsRequest, CallSettings)

public virtual PagedEnumerable<ListSubscriptionsResponse, Subscription> ListSubscriptions(ListSubscriptionsRequest request, CallSettings callSettings = null)

Lists matching subscriptions.

Parameters
NameDescription
requestListSubscriptionsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerable<ListSubscriptionsResponse, Subscription>

A pageable sequence of Subscription resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
ListSubscriptionsRequest request = new ListSubscriptionsRequest
{
    ProjectAsProjectName = ProjectName.FromProject("[PROJECT]"),
};
// Make the request
PagedEnumerable<ListSubscriptionsResponse, Subscription> response = subscriberServiceApiClient.ListSubscriptions(request);

// Iterate over all response items, lazily performing RPCs as required
foreach (Subscription item in response)
{
    // Do something with each item
    Console.WriteLine(item);
}

// Or iterate over pages (of server-defined size), performing one RPC per page
foreach (ListSubscriptionsResponse page in response.AsRawResponses())
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Subscription item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
}

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Subscription> singlePage = response.ReadPage(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Subscription item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSubscriptions(String, String, Nullable<Int32>, CallSettings)

public virtual PagedEnumerable<ListSubscriptionsResponse, Subscription> ListSubscriptions(string project, string pageToken = null, int? pageSize = null, CallSettings callSettings = null)

Lists matching subscriptions.

Parameters
NameDescription
projectString

Required. The name of the project in which to list subscriptions. Format is projects/{project-id}.

pageTokenString

The token returned from the previous request. A value of null or an empty string retrieves the first page.

pageSizeNullable<Int32>

The size of page to request. The response will not be larger than this, but may be smaller. A value of null or 0 uses a server-defined page size.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedEnumerable<ListSubscriptionsResponse, Subscription>

A pageable sequence of Subscription resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string project = "projects/[PROJECT]";
// Make the request
PagedEnumerable<ListSubscriptionsResponse, Subscription> response = subscriberServiceApiClient.ListSubscriptions(project);

// Iterate over all response items, lazily performing RPCs as required
foreach (Subscription item in response)
{
    // Do something with each item
    Console.WriteLine(item);
}

// Or iterate over pages (of server-defined size), performing one RPC per page
foreach (ListSubscriptionsResponse page in response.AsRawResponses())
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Subscription item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
}

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Subscription> singlePage = response.ReadPage(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Subscription item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSubscriptionsAsync(ProjectName, String, Nullable<Int32>, CallSettings)

public virtual PagedAsyncEnumerable<ListSubscriptionsResponse, Subscription> ListSubscriptionsAsync(ProjectName project, string pageToken = null, int? pageSize = null, CallSettings callSettings = null)

Lists matching subscriptions.

Parameters
NameDescription
projectProjectName

Required. The name of the project in which to list subscriptions. Format is projects/{project-id}.

pageTokenString

The token returned from the previous request. A value of null or an empty string retrieves the first page.

pageSizeNullable<Int32>

The size of page to request. The response will not be larger than this, but may be smaller. A value of null or 0 uses a server-defined page size.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerable<ListSubscriptionsResponse, Subscription>

A pageable asynchronous sequence of Subscription resources.

Example
SubscriberServiceApiClient client = SubscriberServiceApiClient.Create();

ProjectName projectName = new ProjectName(projectId);
IAsyncEnumerable<Subscription> subscriptions = client.ListSubscriptionsAsync(projectName);
await subscriptions.ForEachAsync(subscription =>
{
    Console.WriteLine($"{subscription.Name} subscribed to {subscription.Topic}");
});

ListSubscriptionsAsync(ListSubscriptionsRequest, CallSettings)

public virtual PagedAsyncEnumerable<ListSubscriptionsResponse, Subscription> ListSubscriptionsAsync(ListSubscriptionsRequest request, CallSettings callSettings = null)

Lists matching subscriptions.

Parameters
NameDescription
requestListSubscriptionsRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerable<ListSubscriptionsResponse, Subscription>

A pageable asynchronous sequence of Subscription resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
ListSubscriptionsRequest request = new ListSubscriptionsRequest
{
    ProjectAsProjectName = ProjectName.FromProject("[PROJECT]"),
};
// Make the request
PagedAsyncEnumerable<ListSubscriptionsResponse, Subscription> response = subscriberServiceApiClient.ListSubscriptionsAsync(request);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((Subscription item) =>
{
    // Do something with each item
    Console.WriteLine(item);
});

// Or iterate over pages (of server-defined size), performing one RPC per page
await response.AsRawResponses().ForEachAsync((ListSubscriptionsResponse page) =>
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Subscription item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
});

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Subscription> singlePage = await response.ReadPageAsync(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Subscription item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ListSubscriptionsAsync(String, String, Nullable<Int32>, CallSettings)

public virtual PagedAsyncEnumerable<ListSubscriptionsResponse, Subscription> ListSubscriptionsAsync(string project, string pageToken = null, int? pageSize = null, CallSettings callSettings = null)

Lists matching subscriptions.

Parameters
NameDescription
projectString

Required. The name of the project in which to list subscriptions. Format is projects/{project-id}.

pageTokenString

The token returned from the previous request. A value of null or an empty string retrieves the first page.

pageSizeNullable<Int32>

The size of page to request. The response will not be larger than this, but may be smaller. A value of null or 0 uses a server-defined page size.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
PagedAsyncEnumerable<ListSubscriptionsResponse, Subscription>

A pageable asynchronous sequence of Subscription resources.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string project = "projects/[PROJECT]";
// Make the request
PagedAsyncEnumerable<ListSubscriptionsResponse, Subscription> response = subscriberServiceApiClient.ListSubscriptionsAsync(project);

// Iterate over all response items, lazily performing RPCs as required
await response.ForEachAsync((Subscription item) =>
{
    // Do something with each item
    Console.WriteLine(item);
});

// Or iterate over pages (of server-defined size), performing one RPC per page
await response.AsRawResponses().ForEachAsync((ListSubscriptionsResponse page) =>
{
    // Do something with each page of items
    Console.WriteLine("A page of results:");
    foreach (Subscription item in page)
    {
        // Do something with each item
        Console.WriteLine(item);
    }
});

// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
int pageSize = 10;
Page<Subscription> singlePage = await response.ReadPageAsync(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (Subscription item in singlePage)
{
    // Do something with each item
    Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
string nextPageToken = singlePage.NextPageToken;

ModifyAckDeadline(ModifyAckDeadlineRequest, CallSettings)

public virtual void ModifyAckDeadline(ModifyAckDeadlineRequest request, CallSettings callSettings = null)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
requestModifyAckDeadlineRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
ModifyAckDeadlineRequest request = new ModifyAckDeadlineRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    AckDeadlineSeconds = 0,
    AckIds = { "", },
};
// Make the request
subscriberServiceApiClient.ModifyAckDeadline(request);

ModifyAckDeadline(SubscriptionName, IEnumerable<String>, Int32, CallSettings)

public virtual void ModifyAckDeadline(SubscriptionName subscription, IEnumerable<string> ackIds, int ackDeadlineSeconds, CallSettings callSettings = null)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. List of acknowledgment IDs.

ackDeadlineSecondsInt32

Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
IEnumerable<string> ackIds = new string[] { "", };
int ackDeadlineSeconds = 0;
// Make the request
subscriberServiceApiClient.ModifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);

ModifyAckDeadline(String, IEnumerable<String>, Int32, CallSettings)

public virtual void ModifyAckDeadline(string subscription, IEnumerable<string> ackIds, int ackDeadlineSeconds, CallSettings callSettings = null)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
subscriptionString

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. List of acknowledgment IDs.

ackDeadlineSecondsInt32

Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
IEnumerable<string> ackIds = new string[] { "", };
int ackDeadlineSeconds = 0;
// Make the request
subscriberServiceApiClient.ModifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);

ModifyAckDeadlineAsync(ModifyAckDeadlineRequest, CallSettings)

public virtual Task ModifyAckDeadlineAsync(ModifyAckDeadlineRequest request, CallSettings callSettings = null)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
requestModifyAckDeadlineRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
ModifyAckDeadlineRequest request = new ModifyAckDeadlineRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    AckDeadlineSeconds = 0,
    AckIds = { "", },
};
// Make the request
await subscriberServiceApiClient.ModifyAckDeadlineAsync(request);

ModifyAckDeadlineAsync(ModifyAckDeadlineRequest, CancellationToken)

public virtual Task ModifyAckDeadlineAsync(ModifyAckDeadlineRequest request, CancellationToken cancellationToken)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
requestModifyAckDeadlineRequest

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
ModifyAckDeadlineRequest request = new ModifyAckDeadlineRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    AckDeadlineSeconds = 0,
    AckIds = { "", },
};
// Make the request
await subscriberServiceApiClient.ModifyAckDeadlineAsync(request);

ModifyAckDeadlineAsync(SubscriptionName, IEnumerable<String>, Int32, CallSettings)

public virtual Task ModifyAckDeadlineAsync(SubscriptionName subscription, IEnumerable<string> ackIds, int ackDeadlineSeconds, CallSettings callSettings = null)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. List of acknowledgment IDs.

ackDeadlineSecondsInt32

Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
IEnumerable<string> ackIds = new string[] { "", };
int ackDeadlineSeconds = 0;
// Make the request
await subscriberServiceApiClient.ModifyAckDeadlineAsync(subscription, ackIds, ackDeadlineSeconds);

ModifyAckDeadlineAsync(SubscriptionName, IEnumerable<String>, Int32, CancellationToken)

public virtual Task ModifyAckDeadlineAsync(SubscriptionName subscription, IEnumerable<string> ackIds, int ackDeadlineSeconds, CancellationToken cancellationToken)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. List of acknowledgment IDs.

ackDeadlineSecondsInt32

Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
IEnumerable<string> ackIds = new string[] { "", };
int ackDeadlineSeconds = 0;
// Make the request
await subscriberServiceApiClient.ModifyAckDeadlineAsync(subscription, ackIds, ackDeadlineSeconds);

ModifyAckDeadlineAsync(String, IEnumerable<String>, Int32, CallSettings)

public virtual Task ModifyAckDeadlineAsync(string subscription, IEnumerable<string> ackIds, int ackDeadlineSeconds, CallSettings callSettings = null)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
subscriptionString

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. List of acknowledgment IDs.

ackDeadlineSecondsInt32

Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
IEnumerable<string> ackIds = new string[] { "", };
int ackDeadlineSeconds = 0;
// Make the request
await subscriberServiceApiClient.ModifyAckDeadlineAsync(subscription, ackIds, ackDeadlineSeconds);

ModifyAckDeadlineAsync(String, IEnumerable<String>, Int32, CancellationToken)

public virtual Task ModifyAckDeadlineAsync(string subscription, IEnumerable<string> ackIds, int ackDeadlineSeconds, CancellationToken cancellationToken)

Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level ackDeadlineSeconds used for subsequent messages.

Parameters
NameDescription
subscriptionString

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

ackIdsIEnumerable<String>

Required. List of acknowledgment IDs.

ackDeadlineSecondsInt32

Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
IEnumerable<string> ackIds = new string[] { "", };
int ackDeadlineSeconds = 0;
// Make the request
await subscriberServiceApiClient.ModifyAckDeadlineAsync(subscription, ackIds, ackDeadlineSeconds);

ModifyPushConfig(ModifyPushConfigRequest, CallSettings)

public virtual void ModifyPushConfig(ModifyPushConfigRequest request, CallSettings callSettings = null)

Modifies the PushConfig for a specified subscription.

This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.

Parameters
NameDescription
requestModifyPushConfigRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
ModifyPushConfigRequest request = new ModifyPushConfigRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    PushConfig = new PushConfig(),
};
// Make the request
subscriberServiceApiClient.ModifyPushConfig(request);

ModifyPushConfig(SubscriptionName, PushConfig, CallSettings)

public virtual void ModifyPushConfig(SubscriptionName subscription, PushConfig pushConfig, CallSettings callSettings = null)

Modifies the PushConfig for a specified subscription.

This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

pushConfigPushConfig

Required. The push configuration for future deliveries.

An empty pushConfig indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if Pull or StreamingPull is not called.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
PushConfig pushConfig = new PushConfig();
// Make the request
subscriberServiceApiClient.ModifyPushConfig(subscription, pushConfig);

ModifyPushConfig(String, PushConfig, CallSettings)

public virtual void ModifyPushConfig(string subscription, PushConfig pushConfig, CallSettings callSettings = null)

Modifies the PushConfig for a specified subscription.

This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.

Parameters
NameDescription
subscriptionString

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

pushConfigPushConfig

Required. The push configuration for future deliveries.

An empty pushConfig indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if Pull or StreamingPull is not called.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = SubscriberServiceApiClient.Create();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/subscriptions/[SUBSCRIPTION]";
PushConfig pushConfig = new PushConfig();
// Make the request
subscriberServiceApiClient.ModifyPushConfig(subscription, pushConfig);

ModifyPushConfigAsync(ModifyPushConfigRequest, CallSettings)

public virtual Task ModifyPushConfigAsync(ModifyPushConfigRequest request, CallSettings callSettings = null)

Modifies the PushConfig for a specified subscription.

This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.

Parameters
NameDescription
requestModifyPushConfigRequest

The request object containing all of the parameters for the API call.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
ModifyPushConfigRequest request = new ModifyPushConfigRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    PushConfig = new PushConfig(),
};
// Make the request
await subscriberServiceApiClient.ModifyPushConfigAsync(request);

ModifyPushConfigAsync(ModifyPushConfigRequest, CancellationToken)

public virtual Task ModifyPushConfigAsync(ModifyPushConfigRequest request, CancellationToken cancellationToken)

Modifies the PushConfig for a specified subscription.

This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.

Parameters
NameDescription
requestModifyPushConfigRequest

The request object containing all of the parameters for the API call.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
ModifyPushConfigRequest request = new ModifyPushConfigRequest
{
    SubscriptionAsSubscriptionName = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]"),
    PushConfig = new PushConfig(),
};
// Make the request
await subscriberServiceApiClient.ModifyPushConfigAsync(request);

ModifyPushConfigAsync(SubscriptionName, PushConfig, CallSettings)

public virtual Task ModifyPushConfigAsync(SubscriptionName subscription, PushConfig pushConfig, CallSettings callSettings = null)

Modifies the PushConfig for a specified subscription.

This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

pushConfigPushConfig

Required. The push configuration for future deliveries.

An empty pushConfig indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if Pull or StreamingPull is not called.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
PushConfig pushConfig = new PushConfig();
// Make the request
await subscriberServiceApiClient.ModifyPushConfigAsync(subscription, pushConfig);

ModifyPushConfigAsync(SubscriptionName, PushConfig, CancellationToken)

public virtual Task ModifyPushConfigAsync(SubscriptionName subscription, PushConfig pushConfig, CancellationToken cancellationToken)

Modifies the PushConfig for a specified subscription.

This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.

Parameters
NameDescription
subscriptionSubscriptionName

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

pushConfigPushConfig

Required. The push configuration for future deliveries.

An empty pushConfig indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if Pull or StreamingPull is not called.

cancellationTokenCancellationToken

A CancellationToken to use for this RPC.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
SubscriptionName subscription = SubscriptionName.FromProjectSubscription("[PROJECT]", "[SUBSCRIPTION]");
PushConfig pushConfig = new PushConfig();
// Make the request
await subscriberServiceApiClient.ModifyPushConfigAsync(subscription, pushConfig);

ModifyPushConfigAsync(String, PushConfig, CallSettings)

public virtual Task ModifyPushConfigAsync(string subscription, PushConfig pushConfig, CallSettings callSettings = null)

Modifies the PushConfig for a specified subscription.

This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.

Parameters
NameDescription
subscriptionString

Required. The name of the subscription. Format is projects/{project}/subscriptions/{sub}.

pushConfigPushConfig

Required. The push configuration for future deliveries.

An empty pushConfig indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if Pull or StreamingPull is not called.

callSettingsCallSettings

If not null, applies overrides to this RPC call.

Returns
TypeDescription
Task

A Task containing the RPC response.

Example
// Create client
SubscriberServiceApiClient subscriberServiceApiClient = await SubscriberServiceApiClient.CreateAsync();
// Initialize request argument(s)
string subscription = "projects/[PROJECT]/su