public class SubscriptionAdminClient implements BackgroundResource
Service Description: 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.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName name = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
TopicName topic = TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]");
PushConfig pushConfig = PushConfig.newBuilder().build();
int ackDeadlineSeconds = 2135351438;
Subscription response =
subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
}
Note: close() needs to be called on the SubscriptionAdminClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of SubscriptionAdminSettings to create(). For example:
To customize credentials:
SubscriptionAdminSettings subscriptionAdminSettings =
SubscriptionAdminSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
SubscriptionAdminClient subscriptionAdminClient =
SubscriptionAdminClient.create(subscriptionAdminSettings);
To customize the endpoint:
SubscriptionAdminSettings subscriptionAdminSettings =
SubscriptionAdminSettings.newBuilder().setEndpoint(myEndpoint).build();
SubscriptionAdminClient subscriptionAdminClient =
SubscriptionAdminClient.create(subscriptionAdminSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceStatic Methods
create()
public static final SubscriptionAdminClient create()
Constructs an instance of SubscriptionAdminClient with default settings.
Type | Description |
SubscriptionAdminClient |
Type | Description |
IOException |
create(SubscriptionAdminSettings settings)
public static final SubscriptionAdminClient create(SubscriptionAdminSettings settings)
Constructs an instance of SubscriptionAdminClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
Name | Description |
settings | SubscriptionAdminSettings |
Type | Description |
SubscriptionAdminClient |
Type | Description |
IOException |
create(SubscriberStub stub)
public static final SubscriptionAdminClient create(SubscriberStub stub)
Constructs an instance of SubscriptionAdminClient, using the given stub for making calls. This is for advanced usage - prefer using create(SubscriptionAdminSettings).
Name | Description |
stub | SubscriberStub |
Type | Description |
SubscriptionAdminClient |
Constructors
SubscriptionAdminClient(SubscriptionAdminSettings settings)
protected SubscriptionAdminClient(SubscriptionAdminSettings settings)
Constructs an instance of SubscriptionAdminClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
Name | Description |
settings | SubscriptionAdminSettings |
SubscriptionAdminClient(SubscriberStub stub)
protected SubscriptionAdminClient(SubscriberStub stub)
Name | Description |
stub | SubscriberStub |
Methods
acknowledge(AcknowledgeRequest request)
public final void acknowledge(AcknowledgeRequest request)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
AcknowledgeRequest request =
AcknowledgeRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.addAllAckIds(new ArrayList<String>())
.build();
subscriptionAdminClient.acknowledge(request);
}
Name | Description |
request | AcknowledgeRequest The request object containing all of the parameters for the API call. |
acknowledge(ProjectSubscriptionName subscription, List<String> ackIds) (deprecated)
public final void acknowledge(ProjectSubscriptionName subscription, List<String> ackIds)
Deprecated. Use #acknowledge(SubscriptionName, List<String>) instead.
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
List<String> ackIds = new ArrayList<>();
subscriptionAdminClient.acknowledge(subscription, ackIds);
}
Name | Description |
subscription | ProjectSubscriptionName Required. The subscription whose message is being acknowledged. Format is
|
ackIds | List<String> Required. The acknowledgment ID for the messages being acknowledged that was
returned by the Pub/Sub system in the |
acknowledge(SubscriptionName subscription, List<String> ackIds)
public final void acknowledge(SubscriptionName subscription, List<String> ackIds)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
List<String> ackIds = new ArrayList<>();
subscriptionAdminClient.acknowledge(subscription, ackIds);
}
Name | Description |
subscription | SubscriptionName Required. The subscription whose message is being acknowledged. Format is
|
ackIds | List<String> Required. The acknowledgment ID for the messages being acknowledged that was
returned by the Pub/Sub system in the |
acknowledge(String subscription, List<String> ackIds)
public final void acknowledge(String subscription, List<String> ackIds)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
List<String> ackIds = new ArrayList<>();
subscriptionAdminClient.acknowledge(subscription, ackIds);
}
Name | Description |
subscription | String Required. The subscription whose message is being acknowledged. Format is
|
ackIds | List<String> Required. The acknowledgment ID for the messages being acknowledged that was
returned by the Pub/Sub system in the |
acknowledgeCallable()
public final UnaryCallable<AcknowledgeRequest,Empty> acknowledgeCallable()
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
AcknowledgeRequest request =
AcknowledgeRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.addAllAckIds(new ArrayList<String>())
.build();
ApiFuture<Empty> future = subscriptionAdminClient.acknowledgeCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<AcknowledgeRequest,Empty> |
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Name | Description |
duration | long |
unit | TimeUnit |
Type | Description |
boolean |
Type | Description |
InterruptedException |
close()
public final void close()
createSnapshot(CreateSnapshotRequest request)
public final Snapshot createSnapshot(CreateSnapshotRequest request)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
CreateSnapshotRequest request =
CreateSnapshotRequest.newBuilder()
.setName(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString())
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.putAllLabels(new HashMap
Name | Description |
request | CreateSnapshotRequest The request object containing all of the parameters for the API call. |
Type | Description |
Snapshot |
createSnapshot(ProjectSnapshotName name, ProjectSubscriptionName subscription) (deprecated)
public final Snapshot createSnapshot(ProjectSnapshotName name, ProjectSubscriptionName subscription)
Deprecated. Use Use #createSnapshot(SnapshotName, SubscriptionName) instead.
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSnapshotName name = ProjectSnapshotName.of("[PROJECT]", "[SNAPSHOT]");
ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
Snapshot response = subscriptionAdminClient.createSnapshot(name, subscription);
}
Name | Description |
name | ProjectSnapshotName 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 <a
href="https://cloud.google.com/pubsub/docs/admin#resource_names">; resource name
rules</a>. Format is |
subscription | ProjectSubscriptionName 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 |
Type | Description |
Snapshot |
createSnapshot(ProjectSnapshotName name, String subscription) (deprecated)
public final Snapshot createSnapshot(ProjectSnapshotName name, String subscription)
Deprecated. Use Use #createSnapshot(SnapshotName, String) instead.
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSnapshotName name = ProjectSnapshotName.of("[PROJECT]", "[SNAPSHOT]");
String subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
Snapshot response = subscriptionAdminClient.createSnapshot(name, subscription);
}
Name | Description |
name | ProjectSnapshotName 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 <a
href="https://cloud.google.com/pubsub/docs/admin#resource_names">; resource name
rules</a>. Format is |
subscription | String 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 |
Type | Description |
Snapshot |
createSnapshot(SnapshotName name, SubscriptionName subscription)
public final Snapshot createSnapshot(SnapshotName name, SubscriptionName subscription)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SnapshotName name = SnapshotName.of("[PROJECT]", "[SNAPSHOT]");
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
Snapshot response = subscriptionAdminClient.createSnapshot(name, subscription);
}
Name | Description |
name | SnapshotName 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 <a
href="https://cloud.google.com/pubsub/docs/admin#resource_names">; resource name
rules</a>. Format is |
subscription | SubscriptionName 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 |
Type | Description |
Snapshot |
createSnapshot(SnapshotName name, String subscription)
public final Snapshot createSnapshot(SnapshotName name, String subscription)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SnapshotName name = SnapshotName.of("[PROJECT]", "[SNAPSHOT]");
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
Snapshot response = subscriptionAdminClient.createSnapshot(name, subscription);
}
Name | Description |
name | SnapshotName 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 <a
href="https://cloud.google.com/pubsub/docs/admin#resource_names">; resource name
rules</a>. Format is |
subscription | String 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 |
Type | Description |
Snapshot |
createSnapshot(String name, ProjectSubscriptionName subscription) (deprecated)
public final Snapshot createSnapshot(String name, ProjectSubscriptionName subscription)
Deprecated. Use Use #createSnapshot(String, SubscriptionName) instead.
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String name = ProjectSnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString();
ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
Snapshot response = subscriptionAdminClient.createSnapshot(name, subscription);
}
Name | Description |
name | String 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 <a
href="https://cloud.google.com/pubsub/docs/admin#resource_names">; resource name
rules</a>. Format is |
subscription | ProjectSubscriptionName 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 |
Type | Description |
Snapshot |
createSnapshot(String name, SubscriptionName subscription)
public final Snapshot createSnapshot(String name, SubscriptionName subscription)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String name = SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString();
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
Snapshot response = subscriptionAdminClient.createSnapshot(name, subscription);
}
Name | Description |
name | String 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 <a
href="https://cloud.google.com/pubsub/docs/admin#resource_names">; resource name
rules</a>. Format is |
subscription | SubscriptionName 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 |
Type | Description |
Snapshot |
createSnapshot(String name, String subscription)
public final Snapshot createSnapshot(String name, String subscription)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String name = SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString();
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
Snapshot response = subscriptionAdminClient.createSnapshot(name, subscription);
}
Name | Description |
name | String 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 <a
href="https://cloud.google.com/pubsub/docs/admin#resource_names">; resource name
rules</a>. Format is |
subscription | String 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 |
Type | Description |
Snapshot |
createSnapshotCallable()
public final UnaryCallable<CreateSnapshotRequest,Snapshot> createSnapshotCallable()
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
CreateSnapshotRequest request =
CreateSnapshotRequest.newBuilder()
.setName(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString())
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.putAllLabels(new HashMap
Type | Description |
UnaryCallable<CreateSnapshotRequest,Snapshot> |
createSubscription(ProjectSubscriptionName name, ProjectTopicName topic, PushConfig pushConfig, int ackDeadlineSeconds) (deprecated)
public final Subscription createSubscription(ProjectSubscriptionName name, ProjectTopicName topic, PushConfig pushConfig, int ackDeadlineSeconds)
Deprecated. Use #createSubscription(SubscriptionName, TopicName, PushConfig, int) instead.
Creates a subscription to a given topic. See the <a
href="https://cloud.google.com/pubsub/docs/admin#resource_names">; resource name
rules</a>. 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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSubscriptionName name = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
ProjectTopicName topic = ProjectTopicName.of("[PROJECT]", "[TOPIC]");
PushConfig pushConfig = PushConfig.newBuilder().build();
int ackDeadlineSeconds = 0;
Subscription response = subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
}
Name | Description |
name | ProjectSubscriptionName Required. The name of the subscription. It must have the format
|
topic | ProjectTopicName Required. The name of the topic from which this subscription is receiving
messages. Format is |
pushConfig | PushConfig If push delivery is used with this subscription, this field is used to
configure it. An empty |
ackDeadlineSeconds | int 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 <i>outstanding</i>. 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 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. |
Type | Description |
Subscription |
createSubscription(ProjectSubscriptionName name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds) (deprecated)
public final Subscription createSubscription(ProjectSubscriptionName name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds)
Deprecated. Use #createSubscription(SubscriptionName, TopicName, PushConfig, int) instead.
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSubscriptionName name = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
TopicName topic = TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]");
PushConfig pushConfig = PushConfig.newBuilder().build();
int ackDeadlineSeconds = 2135351438;
Subscription response =
subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
}
Name | Description |
name | ProjectSubscriptionName Required. The name of the subscription. It must have the format
|
topic | TopicName Required. The name of the topic from which this subscription is receiving
messages. Format is |
pushConfig | PushConfig If push delivery is used with this subscription, this field is used to
configure it. An empty |
ackDeadlineSeconds | int 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 <i>outstanding</i>. 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 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. |
Type | Description |
Subscription |
createSubscription(ProjectSubscriptionName name, String topic, PushConfig pushConfig, int ackDeadlineSeconds) (deprecated)
public final Subscription createSubscription(ProjectSubscriptionName name, String topic, PushConfig pushConfig, int ackDeadlineSeconds)
Deprecated. Use #createSubscription(SubscriptionName, String, PushConfig, int) instead.
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSubscriptionName name = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
String topic = TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]").toString();
PushConfig pushConfig = PushConfig.newBuilder().build();
int ackDeadlineSeconds = 2135351438;
Subscription response =
subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
}
Name | Description |
name | ProjectSubscriptionName Required. The name of the subscription. It must have the format
|
topic | String Required. The name of the topic from which this subscription is receiving
messages. Format is |
pushConfig | PushConfig If push delivery is used with this subscription, this field is used to
configure it. An empty |
ackDeadlineSeconds | int 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 <i>outstanding</i>. 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 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. |
Type | Description |
Subscription |
createSubscription(Subscription request)
public final Subscription createSubscription(Subscription request)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
Subscription request =
Subscription.newBuilder()
.setName(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.setTopic(TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]").toString())
.setPushConfig(PushConfig.newBuilder().build())
.setAckDeadlineSeconds(2135351438)
.setRetainAckedMessages(true)
.setMessageRetentionDuration(Duration.newBuilder().build())
.putAllLabels(new HashMap
Name | Description |
request | Subscription The request object containing all of the parameters for the API call. |
Type | Description |
Subscription |
createSubscription(SubscriptionName name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds)
public final Subscription createSubscription(SubscriptionName name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName name = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
TopicName topic = TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]");
PushConfig pushConfig = PushConfig.newBuilder().build();
int ackDeadlineSeconds = 2135351438;
Subscription response =
subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
}
Name | Description |
name | SubscriptionName Required. The name of the subscription. It must have the format
|
topic | TopicName Required. The name of the topic from which this subscription is receiving
messages. Format is |
pushConfig | PushConfig If push delivery is used with this subscription, this field is used to
configure it. An empty |
ackDeadlineSeconds | int 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 <i>outstanding</i>. 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 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. |
Type | Description |
Subscription |
createSubscription(SubscriptionName name, String topic, PushConfig pushConfig, int ackDeadlineSeconds)
public final Subscription createSubscription(SubscriptionName name, String topic, PushConfig pushConfig, int ackDeadlineSeconds)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName name = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
String topic = TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]").toString();
PushConfig pushConfig = PushConfig.newBuilder().build();
int ackDeadlineSeconds = 2135351438;
Subscription response =
subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
}
Name | Description |
name | SubscriptionName Required. The name of the subscription. It must have the format
|
topic | String Required. The name of the topic from which this subscription is receiving
messages. Format is |
pushConfig | PushConfig If push delivery is used with this subscription, this field is used to
configure it. An empty |
ackDeadlineSeconds | int 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 <i>outstanding</i>. 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 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. |
Type | Description |
Subscription |
createSubscription(String name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds)
public final Subscription createSubscription(String name, TopicName topic, PushConfig pushConfig, int ackDeadlineSeconds)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String name = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
TopicName topic = TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]");
PushConfig pushConfig = PushConfig.newBuilder().build();
int ackDeadlineSeconds = 2135351438;
Subscription response =
subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
}
Name | Description |
name | String Required. The name of the subscription. It must have the format
|
topic | TopicName Required. The name of the topic from which this subscription is receiving
messages. Format is |
pushConfig | PushConfig If push delivery is used with this subscription, this field is used to
configure it. An empty |
ackDeadlineSeconds | int 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 <i>outstanding</i>. 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 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. |
Type | Description |
Subscription |
createSubscription(String name, String topic, PushConfig pushConfig, int ackDeadlineSeconds)
public final Subscription createSubscription(String name, String topic, PushConfig pushConfig, int ackDeadlineSeconds)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String name = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
String topic = TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]").toString();
PushConfig pushConfig = PushConfig.newBuilder().build();
int ackDeadlineSeconds = 2135351438;
Subscription response =
subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
}
Name | Description |
name | String Required. The name of the subscription. It must have the format
|
topic | String Required. The name of the topic from which this subscription is receiving
messages. Format is |
pushConfig | PushConfig If push delivery is used with this subscription, this field is used to
configure it. An empty |
ackDeadlineSeconds | int 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 <i>outstanding</i>. 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 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. |
Type | Description |
Subscription |
createSubscriptionCallable()
public final UnaryCallable<Subscription,Subscription> createSubscriptionCallable()
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
Subscription request =
Subscription.newBuilder()
.setName(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.setTopic(TopicName.ofProjectTopicName("[PROJECT]", "[TOPIC]").toString())
.setPushConfig(PushConfig.newBuilder().build())
.setAckDeadlineSeconds(2135351438)
.setRetainAckedMessages(true)
.setMessageRetentionDuration(Duration.newBuilder().build())
.putAllLabels(new HashMap
Type | Description |
UnaryCallable<Subscription,Subscription> |
deleteSnapshot(DeleteSnapshotRequest request)
public final void deleteSnapshot(DeleteSnapshotRequest request)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
DeleteSnapshotRequest request =
DeleteSnapshotRequest.newBuilder()
.setSnapshot(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString())
.build();
subscriptionAdminClient.deleteSnapshot(request);
}
Name | Description |
request | DeleteSnapshotRequest The request object containing all of the parameters for the API call. |
deleteSnapshot(ProjectSnapshotName snapshot) (deprecated)
public final void deleteSnapshot(ProjectSnapshotName snapshot)
Deprecated. Use Use #deleteSnapshot(SnapshotName) instead.
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSnapshotName snapshot = ProjectSnapshotName.of("[PROJECT]", "[SNAPSHOT]");
subscriptionAdminClient.deleteSnapshot(snapshot);
}
Name | Description |
snapshot | ProjectSnapshotName Required. The name of the snapshot to delete. Format is
|
deleteSnapshot(SnapshotName snapshot)
public final void deleteSnapshot(SnapshotName snapshot)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SnapshotName snapshot = SnapshotName.of("[PROJECT]", "[SNAPSHOT]");
subscriptionAdminClient.deleteSnapshot(snapshot);
}
Name | Description |
snapshot | SnapshotName Required. The name of the snapshot to delete. Format is
|
deleteSnapshot(String snapshot)
public final void deleteSnapshot(String snapshot)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String snapshot = SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString();
subscriptionAdminClient.deleteSnapshot(snapshot);
}
Name | Description |
snapshot | String Required. The name of the snapshot to delete. Format is
|
deleteSnapshotCallable()
public final UnaryCallable<DeleteSnapshotRequest,Empty> deleteSnapshotCallable()
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
DeleteSnapshotRequest request =
DeleteSnapshotRequest.newBuilder()
.setSnapshot(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString())
.build();
ApiFuture<Empty> future =
subscriptionAdminClient.deleteSnapshotCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<DeleteSnapshotRequest,Empty> |
deleteSubscription(DeleteSubscriptionRequest request)
public final void deleteSubscription(DeleteSubscriptionRequest request)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
DeleteSubscriptionRequest request =
DeleteSubscriptionRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.build();
subscriptionAdminClient.deleteSubscription(request);
}
Name | Description |
request | DeleteSubscriptionRequest The request object containing all of the parameters for the API call. |
deleteSubscription(ProjectSubscriptionName subscription) (deprecated)
public final void deleteSubscription(ProjectSubscriptionName subscription)
Deprecated. Use #deleteSubscription(SubscriptionName) instead.
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
subscriptionAdminClient.deleteSubscription(subscription);
}
Name | Description |
subscription | ProjectSubscriptionName Required. The subscription to delete. Format is
|
deleteSubscription(SubscriptionName subscription)
public final void deleteSubscription(SubscriptionName subscription)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
subscriptionAdminClient.deleteSubscription(subscription);
}
Name | Description |
subscription | SubscriptionName Required. The subscription to delete. Format is
|
deleteSubscription(String subscription)
public final void deleteSubscription(String subscription)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
subscriptionAdminClient.deleteSubscription(subscription);
}
Name | Description |
subscription | String Required. The subscription to delete. Format is
|
deleteSubscriptionCallable()
public final UnaryCallable<DeleteSubscriptionRequest,Empty> deleteSubscriptionCallable()
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
DeleteSubscriptionRequest request =
DeleteSubscriptionRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.build();
ApiFuture<Empty> future =
subscriptionAdminClient.deleteSubscriptionCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<DeleteSubscriptionRequest,Empty> |
getIamPolicy(GetIamPolicyRequest request)
public final Policy getIamPolicy(GetIamPolicyRequest request)
Gets the access control policy for a resource. Returns an empty policyif the resource exists and does not have a policy set.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
Policy response = subscriptionAdminClient.getIamPolicy(request);
}
Name | Description |
request | com.google.iam.v1.GetIamPolicyRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicy(String resource) (deprecated)
public final Policy getIamPolicy(String resource)
Deprecated. Use #getIamPolicy(GetIamPolicyRequest) instead.
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]");
Policy response = subscriptionAdminClient.getIamPolicy(formattedResource);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicyCallable()
public final UnaryCallable<GetIamPolicyRequest,Policy> getIamPolicyCallable()
Gets the access control policy for a resource. Returns an empty policyif the resource exists and does not have a policy set.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
ApiFuture<Policy> future = subscriptionAdminClient.getIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> |
getSettings()
public final SubscriptionAdminSettings getSettings()
Type | Description |
SubscriptionAdminSettings |
getSnapshot(GetSnapshotRequest request)
public final Snapshot getSnapshot(GetSnapshotRequest request)
Gets the configuration details of a snapshot. Snapshots are used in <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>; 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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
GetSnapshotRequest request =
GetSnapshotRequest.newBuilder()
.setSnapshot(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString())
.build();
Snapshot response = subscriptionAdminClient.getSnapshot(request);
}
Name | Description |
request | GetSnapshotRequest The request object containing all of the parameters for the API call. |
Type | Description |
Snapshot |
getSnapshot(ProjectSnapshotName snapshot) (deprecated)
public final Snapshot getSnapshot(ProjectSnapshotName snapshot)
Deprecated. Use Use #getSnapshot(SnapshotName) instead.
Gets the configuration details of a snapshot. Snapshots are used in <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>; 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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSnapshotName snapshot = ProjectSnapshotName.of("[PROJECT]", "[SNAPSHOT]");
Snapshot response = subscriptionAdminClient.getSnapshot(snapshot);
}
Name | Description |
snapshot | ProjectSnapshotName Required. The name of the snapshot to get. Format is
|
Type | Description |
Snapshot |
getSnapshot(SnapshotName snapshot)
public final Snapshot getSnapshot(SnapshotName snapshot)
Gets the configuration details of a snapshot. Snapshots are used in <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>; 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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SnapshotName snapshot = SnapshotName.of("[PROJECT]", "[SNAPSHOT]");
Snapshot response = subscriptionAdminClient.getSnapshot(snapshot);
}
Name | Description |
snapshot | SnapshotName Required. The name of the snapshot to get. Format is
|
Type | Description |
Snapshot |
getSnapshot(String snapshot)
public final Snapshot getSnapshot(String snapshot)
Gets the configuration details of a snapshot. Snapshots are used in <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>; 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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String snapshot = SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString();
Snapshot response = subscriptionAdminClient.getSnapshot(snapshot);
}
Name | Description |
snapshot | String Required. The name of the snapshot to get. Format is
|
Type | Description |
Snapshot |
getSnapshotCallable()
public final UnaryCallable<GetSnapshotRequest,Snapshot> getSnapshotCallable()
Gets the configuration details of a snapshot. Snapshots are used in <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>; 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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
GetSnapshotRequest request =
GetSnapshotRequest.newBuilder()
.setSnapshot(SnapshotName.of("[PROJECT]", "[SNAPSHOT]").toString())
.build();
ApiFuture<Snapshot> future =
subscriptionAdminClient.getSnapshotCallable().futureCall(request);
// Do something.
Snapshot response = future.get();
}
Type | Description |
UnaryCallable<GetSnapshotRequest,Snapshot> |
getStub()
public SubscriberStub getStub()
Type | Description |
SubscriberStub |
getSubscription(GetSubscriptionRequest request)
public final Subscription getSubscription(GetSubscriptionRequest request)
Gets the configuration details of a subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
GetSubscriptionRequest request =
GetSubscriptionRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.build();
Subscription response = subscriptionAdminClient.getSubscription(request);
}
Name | Description |
request | GetSubscriptionRequest The request object containing all of the parameters for the API call. |
Type | Description |
Subscription |
getSubscription(ProjectSubscriptionName subscription) (deprecated)
public final Subscription getSubscription(ProjectSubscriptionName subscription)
Deprecated. Use #getSubscription(SubscriptionName) instead.
Gets the configuration details of a subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
Subscription response = subscriptionAdminClient.getSubscription(subscription);
}
Name | Description |
subscription | ProjectSubscriptionName Required. The name of the subscription to get. Format is
|
Type | Description |
Subscription |
getSubscription(SubscriptionName subscription)
public final Subscription getSubscription(SubscriptionName subscription)
Gets the configuration details of a subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
Subscription response = subscriptionAdminClient.getSubscription(subscription);
}
Name | Description |
subscription | SubscriptionName Required. The name of the subscription to get. Format is
|
Type | Description |
Subscription |
getSubscription(String subscription)
public final Subscription getSubscription(String subscription)
Gets the configuration details of a subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
Subscription response = subscriptionAdminClient.getSubscription(subscription);
}
Name | Description |
subscription | String Required. The name of the subscription to get. Format is
|
Type | Description |
Subscription |
getSubscriptionCallable()
public final UnaryCallable<GetSubscriptionRequest,Subscription> getSubscriptionCallable()
Gets the configuration details of a subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
GetSubscriptionRequest request =
GetSubscriptionRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.build();
ApiFuture<Subscription> future =
subscriptionAdminClient.getSubscriptionCallable().futureCall(request);
// Do something.
Subscription response = future.get();
}
Type | Description |
UnaryCallable<GetSubscriptionRequest,Subscription> |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listSnapshots(ListSnapshotsRequest request)
public final SubscriptionAdminClient.ListSnapshotsPagedResponse listSnapshots(ListSnapshotsRequest request)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ListSnapshotsRequest request =
ListSnapshotsRequest.newBuilder()
.setProject(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Snapshot element : subscriptionAdminClient.listSnapshots(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListSnapshotsRequest The request object containing all of the parameters for the API call. |
Type | Description |
SubscriptionAdminClient.ListSnapshotsPagedResponse |
listSnapshots(ProjectName project)
public final SubscriptionAdminClient.ListSnapshotsPagedResponse listSnapshots(ProjectName project)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectName project = ProjectName.of("[PROJECT]");
for (Snapshot element : subscriptionAdminClient.listSnapshots(project).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
project | ProjectName Required. The name of the project in which to list snapshots. Format is
|
Type | Description |
SubscriptionAdminClient.ListSnapshotsPagedResponse |
listSnapshots(String project)
public final SubscriptionAdminClient.ListSnapshotsPagedResponse listSnapshots(String project)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String project = ProjectName.of("[PROJECT]").toString();
for (Snapshot element : subscriptionAdminClient.listSnapshots(project).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
project | String Required. The name of the project in which to list snapshots. Format is
|
Type | Description |
SubscriptionAdminClient.ListSnapshotsPagedResponse |
listSnapshotsCallable()
public final UnaryCallable<ListSnapshotsRequest,ListSnapshotsResponse> listSnapshotsCallable()
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ListSnapshotsRequest request =
ListSnapshotsRequest.newBuilder()
.setProject(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListSnapshotsResponse response =
subscriptionAdminClient.listSnapshotsCallable().call(request);
for (Snapshot element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListSnapshotsRequest,ListSnapshotsResponse> |
listSnapshotsPagedCallable()
public final UnaryCallable<ListSnapshotsRequest,SubscriptionAdminClient.ListSnapshotsPagedResponse> listSnapshotsPagedCallable()
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ListSnapshotsRequest request =
ListSnapshotsRequest.newBuilder()
.setProject(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Snapshot> future =
subscriptionAdminClient.listSnapshotsPagedCallable().futureCall(request);
// Do something.
for (Snapshot element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListSnapshotsRequest,ListSnapshotsPagedResponse> |
listSubscriptions(ListSubscriptionsRequest request)
public final SubscriptionAdminClient.ListSubscriptionsPagedResponse listSubscriptions(ListSubscriptionsRequest request)
Lists matching subscriptions.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ListSubscriptionsRequest request =
ListSubscriptionsRequest.newBuilder()
.setProject(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Subscription element : subscriptionAdminClient.listSubscriptions(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListSubscriptionsRequest The request object containing all of the parameters for the API call. |
Type | Description |
SubscriptionAdminClient.ListSubscriptionsPagedResponse |
listSubscriptions(ProjectName project)
public final SubscriptionAdminClient.ListSubscriptionsPagedResponse listSubscriptions(ProjectName project)
Lists matching subscriptions.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectName project = ProjectName.of("[PROJECT]");
for (Subscription element : subscriptionAdminClient.listSubscriptions(project).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
project | ProjectName Required. The name of the project in which to list subscriptions. Format is
|
Type | Description |
SubscriptionAdminClient.ListSubscriptionsPagedResponse |
listSubscriptions(String project)
public final SubscriptionAdminClient.ListSubscriptionsPagedResponse listSubscriptions(String project)
Lists matching subscriptions.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String project = ProjectName.of("[PROJECT]").toString();
for (Subscription element : subscriptionAdminClient.listSubscriptions(project).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
project | String Required. The name of the project in which to list subscriptions. Format is
|
Type | Description |
SubscriptionAdminClient.ListSubscriptionsPagedResponse |
listSubscriptionsCallable()
public final UnaryCallable<ListSubscriptionsRequest,ListSubscriptionsResponse> listSubscriptionsCallable()
Lists matching subscriptions.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ListSubscriptionsRequest request =
ListSubscriptionsRequest.newBuilder()
.setProject(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListSubscriptionsResponse response =
subscriptionAdminClient.listSubscriptionsCallable().call(request);
for (Subscription element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListSubscriptionsRequest,ListSubscriptionsResponse> |
listSubscriptionsPagedCallable()
public final UnaryCallable<ListSubscriptionsRequest,SubscriptionAdminClient.ListSubscriptionsPagedResponse> listSubscriptionsPagedCallable()
Lists matching subscriptions.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ListSubscriptionsRequest request =
ListSubscriptionsRequest.newBuilder()
.setProject(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Subscription> future =
subscriptionAdminClient.listSubscriptionsPagedCallable().futureCall(request);
// Do something.
for (Subscription element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListSubscriptionsRequest,ListSubscriptionsPagedResponse> |
modifyAckDeadline(ModifyAckDeadlineRequest request)
public final void modifyAckDeadline(ModifyAckDeadlineRequest request)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ModifyAckDeadlineRequest request =
ModifyAckDeadlineRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.addAllAckIds(new ArrayList<String>())
.setAckDeadlineSeconds(2135351438)
.build();
subscriptionAdminClient.modifyAckDeadline(request);
}
Name | Description |
request | ModifyAckDeadlineRequest The request object containing all of the parameters for the API call. |
modifyAckDeadline(SubscriptionName subscription, List<String> ackIds, int ackDeadlineSeconds)
public final void modifyAckDeadline(SubscriptionName subscription, List<String> ackIds, int ackDeadlineSeconds)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
List<String> ackIds = new ArrayList<>();
int ackDeadlineSeconds = 2135351438;
subscriptionAdminClient.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);
}
Name | Description |
subscription | SubscriptionName Required. The name of the subscription. Format is
|
ackIds | List<String> Required. List of acknowledgment IDs. |
ackDeadlineSeconds | int 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(String subscription, List<String> ackIds, int ackDeadlineSeconds)
public final void modifyAckDeadline(String subscription, List<String> ackIds, int ackDeadlineSeconds)
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
List<String> ackIds = new ArrayList<>();
int ackDeadlineSeconds = 2135351438;
subscriptionAdminClient.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);
}
Name | Description |
subscription | String Required. The name of the subscription. Format is
|
ackIds | List<String> Required. List of acknowledgment IDs. |
ackDeadlineSeconds | int 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 |
modifyAckDeadlineCallable()
public final UnaryCallable<ModifyAckDeadlineRequest,Empty> modifyAckDeadlineCallable()
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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ModifyAckDeadlineRequest request =
ModifyAckDeadlineRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.addAllAckIds(new ArrayList<String>())
.setAckDeadlineSeconds(2135351438)
.build();
ApiFuture<Empty> future =
subscriptionAdminClient.modifyAckDeadlineCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<ModifyAckDeadlineRequest,Empty> |
modifyPushConfig(ModifyPushConfigRequest request)
public final void modifyPushConfig(ModifyPushConfigRequest request)
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
.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ModifyPushConfigRequest request =
ModifyPushConfigRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.setPushConfig(PushConfig.newBuilder().build())
.build();
subscriptionAdminClient.modifyPushConfig(request);
}
Name | Description |
request | ModifyPushConfigRequest The request object containing all of the parameters for the API call. |
modifyPushConfig(ProjectSubscriptionName subscription, PushConfig pushConfig) (deprecated)
public final void modifyPushConfig(ProjectSubscriptionName subscription, PushConfig pushConfig)
Deprecated. Use #modifyPushConfig(SubscriptionName, PushConfig) instead.
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
.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
PushConfig pushConfig = PushConfig.newBuilder().build();
subscriptionAdminClient.modifyPushConfig(subscription, pushConfig);
}
Name | Description |
subscription | ProjectSubscriptionName Required. The name of the subscription. Format is
|
pushConfig | PushConfig Required. The push configuration for future deliveries. An empty |
modifyPushConfig(SubscriptionName subscription, PushConfig pushConfig)
public final void modifyPushConfig(SubscriptionName subscription, PushConfig pushConfig)
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
.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
PushConfig pushConfig = PushConfig.newBuilder().build();
subscriptionAdminClient.modifyPushConfig(subscription, pushConfig);
}
Name | Description |
subscription | SubscriptionName Required. The name of the subscription. Format is
|
pushConfig | PushConfig Required. The push configuration for future deliveries. An empty |
modifyPushConfig(String subscription, PushConfig pushConfig)
public final void modifyPushConfig(String subscription, PushConfig pushConfig)
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
.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
PushConfig pushConfig = PushConfig.newBuilder().build();
subscriptionAdminClient.modifyPushConfig(subscription, pushConfig);
}
Name | Description |
subscription | String Required. The name of the subscription. Format is
|
pushConfig | PushConfig Required. The push configuration for future deliveries. An empty |
modifyPushConfigCallable()
public final UnaryCallable<ModifyPushConfigRequest,Empty> modifyPushConfigCallable()
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
.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ModifyPushConfigRequest request =
ModifyPushConfigRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.setPushConfig(PushConfig.newBuilder().build())
.build();
ApiFuture<Empty> future =
subscriptionAdminClient.modifyPushConfigCallable().futureCall(request);
// Do something.
future.get();
}
Type | Description |
UnaryCallable<ModifyPushConfigRequest,Empty> |
pull(ProjectSubscriptionName subscription, int maxMessages) (deprecated)
public final PullResponse pull(ProjectSubscriptionName subscription, int maxMessages)
Deprecated. Use #pull(SubscriptionName, int) instead.
Pulls messages from the server. The server may return UNAVAILABLE
if there are too many
concurrent pull requests pending for the given subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
ProjectSubscriptionName subscription = ProjectSubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
int maxMessages = 496131527;
PullResponse response = subscriptionAdminClient.pull(subscription, maxMessages);
}
Name | Description |
subscription | ProjectSubscriptionName Required. The subscription from which messages should be pulled. Format is
|
maxMessages | int Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified. |
Type | Description |
PullResponse |
pull(PullRequest request)
public final PullResponse pull(PullRequest request)
Pulls messages from the server. The server may return UNAVAILABLE
if there are too many
concurrent pull requests pending for the given subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
PullRequest request =
PullRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.setReturnImmediately(true)
.setMaxMessages(496131527)
.build();
PullResponse response = subscriptionAdminClient.pull(request);
}
Name | Description |
request | PullRequest The request object containing all of the parameters for the API call. |
Type | Description |
PullResponse |
pull(SubscriptionName subscription, boolean returnImmediately, int maxMessages)
public final PullResponse pull(SubscriptionName subscription, boolean returnImmediately, int maxMessages)
Pulls messages from the server. The server may return UNAVAILABLE
if there are too many
concurrent pull requests pending for the given subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
boolean returnImmediately = true;
int maxMessages = 496131527;
PullResponse response =
subscriptionAdminClient.pull(subscription, returnImmediately, maxMessages);
}
Name | Description |
subscription | SubscriptionName Required. The subscription from which messages should be pulled. Format is
|
returnImmediately | boolean Optional. If this field set to true, the system will respond
immediately even if it there are no messages available to return in the |
maxMessages | int Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified. |
Type | Description |
PullResponse |
pull(SubscriptionName subscription, int maxMessages)
public final PullResponse pull(SubscriptionName subscription, int maxMessages)
Pulls messages from the server. The server may return UNAVAILABLE
if there are too many
concurrent pull requests pending for the given subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SubscriptionName subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]");
int maxMessages = 496131527;
PullResponse response = subscriptionAdminClient.pull(subscription, maxMessages);
}
Name | Description |
subscription | SubscriptionName Required. The subscription from which messages should be pulled. Format is
|
maxMessages | int Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified. |
Type | Description |
PullResponse |
pull(String subscription, boolean returnImmediately, int maxMessages)
public final PullResponse pull(String subscription, boolean returnImmediately, int maxMessages)
Pulls messages from the server. The server may return UNAVAILABLE
if there are too many
concurrent pull requests pending for the given subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
boolean returnImmediately = true;
int maxMessages = 496131527;
PullResponse response =
subscriptionAdminClient.pull(subscription, returnImmediately, maxMessages);
}
Name | Description |
subscription | String Required. The subscription from which messages should be pulled. Format is
|
returnImmediately | boolean Optional. If this field set to true, the system will respond
immediately even if it there are no messages available to return in the |
maxMessages | int Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified. |
Type | Description |
PullResponse |
pull(String subscription, int maxMessages)
public final PullResponse pull(String subscription, int maxMessages)
Pulls messages from the server. The server may return UNAVAILABLE
if there are too many
concurrent pull requests pending for the given subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String subscription = SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString();
int maxMessages = 496131527;
PullResponse response = subscriptionAdminClient.pull(subscription, maxMessages);
}
Name | Description |
subscription | String Required. The subscription from which messages should be pulled. Format is
|
maxMessages | int Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified. |
Type | Description |
PullResponse |
pullCallable()
public final UnaryCallable<PullRequest,PullResponse> pullCallable()
Pulls messages from the server. The server may return UNAVAILABLE
if there are too many
concurrent pull requests pending for the given subscription.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
PullRequest request =
PullRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.setReturnImmediately(true)
.setMaxMessages(496131527)
.build();
ApiFuture
Type | Description |
UnaryCallable<PullRequest,PullResponse> |
seek(SeekRequest request)
public final SeekResponse seek(SeekRequest request)
Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. 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. Note that both the subscription and the snapshot must be on the same topic.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SeekRequest request =
SeekRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.build();
SeekResponse response = subscriptionAdminClient.seek(request);
}
Name | Description |
request | SeekRequest The request object containing all of the parameters for the API call. |
Type | Description |
SeekResponse |
seekCallable()
public final UnaryCallable<SeekRequest,SeekResponse> seekCallable()
Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. 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. Note that both the subscription and the snapshot must be on the same topic.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SeekRequest request =
SeekRequest.newBuilder()
.setSubscription(SubscriptionName.of("[PROJECT]", "[SUBSCRIPTION]").toString())
.build();
ApiFuture
Type | Description |
UnaryCallable<SeekRequest,SeekResponse> |
setIamPolicy(SetIamPolicyRequest request)
public final Policy setIamPolicy(SetIamPolicyRequest request)
Sets the access control policy on the specified resource. Replacesany existing policy.
Can return NOT_FOUND
, INVALID_ARGUMENT
, and PERMISSION_DENIED
errors.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.setPolicy(Policy.newBuilder().build())
.build();
Policy response = subscriptionAdminClient.setIamPolicy(request);
}
Name | Description |
request | com.google.iam.v1.SetIamPolicyRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicy(String resource, Policy policy) (deprecated)
public final Policy setIamPolicy(String resource, Policy policy)
Deprecated. Use #setIamPolicy(SetIamPolicyRequest) instead.
Sets the access control policy on the specified resource. Replaces any existing policy.
Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]");
Policy policy = Policy.newBuilder().build();
Policy response = subscriptionAdminClient.setIamPolicy(formattedResource, policy);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. |
policy | com.google.iam.v1.Policy REQUIRED: The complete policy to be applied to the |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicyCallable()
public final UnaryCallable<SetIamPolicyRequest,Policy> setIamPolicyCallable()
Sets the access control policy on the specified resource. Replacesany existing policy.
Can return NOT_FOUND
, INVALID_ARGUMENT
, and PERMISSION_DENIED
errors.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.setPolicy(Policy.newBuilder().build())
.build();
ApiFuture<Policy> future = subscriptionAdminClient.setIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()
streamingPullCallable()
public final BidiStreamingCallable<StreamingPullRequest,StreamingPullResponse> streamingPullCallable()
Establishes a stream with the server, which sends messages down to the client. The client
streams acknowledgements and ack deadline modifications back to the server. The server will
close the stream and return the status on any error. The server may close the stream with
status UNAVAILABLE
to reassign server-side resources, in which case, the client should
re-establish the stream. Flow control can be achieved by configuring the underlying RPC
channel.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
BidiStream
Type | Description |
BidiStreamingCallable<StreamingPullRequest,StreamingPullResponse> |
testIamPermissions(TestIamPermissionsRequest request)
public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request)
Returns permissions that a caller has on the specified resource. If theresource does not exist,
this will return an empty set ofpermissions, not a NOT_FOUND
error.
Note: This operation is designed to be used for buildingpermission-aware UIs and command-line tools, not for authorizationchecking. This operation may "fail open" without warning.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
TestIamPermissionsResponse response = subscriptionAdminClient.testIamPermissions(request);
}
Name | Description |
request | com.google.iam.v1.TestIamPermissionsRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(String resource, List<String> permissions) (deprecated)
public final TestIamPermissionsResponse testIamPermissions(String resource, List<String> permissions)
Deprecated. Use #testIamPermissions(TestIamPermissionsRequest) instead.
Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.
Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
String formattedResource = ProjectTopicName.format("[PROJECT]", "[TOPIC]");
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response = subscriptionAdminClient.testIamPermissions(formattedResource, permissions);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. |
permissions | List<String> The set of permissions to check for the |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissionsCallable()
public final UnaryCallable<TestIamPermissionsRequest,TestIamPermissionsResponse> testIamPermissionsCallable()
Returns permissions that a caller has on the specified resource. If theresource does not exist,
this will return an empty set ofpermissions, not a NOT_FOUND
error.
Note: This operation is designed to be used for buildingpermission-aware UIs and command-line tools, not for authorizationchecking. This operation may "fail open" without warning.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(ProjectName.of("[PROJECT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
ApiFuture
Type | Description |
UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> |
updateSnapshot(UpdateSnapshotRequest request)
public final Snapshot updateSnapshot(UpdateSnapshotRequest request)
Updates an existing snapshot. Snapshots are used in <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>; 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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
UpdateSnapshotRequest request =
UpdateSnapshotRequest.newBuilder()
.setSnapshot(Snapshot.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Snapshot response = subscriptionAdminClient.updateSnapshot(request);
}
Name | Description |
request | UpdateSnapshotRequest The request object containing all of the parameters for the API call. |
Type | Description |
Snapshot |
updateSnapshotCallable()
public final UnaryCallable<UpdateSnapshotRequest,Snapshot> updateSnapshotCallable()
Updates an existing snapshot. Snapshots are used in <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>; 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.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
UpdateSnapshotRequest request =
UpdateSnapshotRequest.newBuilder()
.setSnapshot(Snapshot.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Snapshot> future =
subscriptionAdminClient.updateSnapshotCallable().futureCall(request);
// Do something.
Snapshot response = future.get();
}
Type | Description |
UnaryCallable<UpdateSnapshotRequest,Snapshot> |
updateSubscription(UpdateSubscriptionRequest request)
public final Subscription updateSubscription(UpdateSubscriptionRequest request)
Updates an existing subscription. Note that certain properties of a subscription, such as its topic, are not modifiable.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
UpdateSubscriptionRequest request =
UpdateSubscriptionRequest.newBuilder()
.setSubscription(Subscription.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Subscription response = subscriptionAdminClient.updateSubscription(request);
}
Name | Description |
request | UpdateSubscriptionRequest The request object containing all of the parameters for the API call. |
Type | Description |
Subscription |
updateSubscriptionCallable()
public final UnaryCallable<UpdateSubscriptionRequest,Subscription> updateSubscriptionCallable()
Updates an existing subscription. Note that certain properties of a subscription, such as its topic, are not modifiable.
Sample code:
try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
UpdateSubscriptionRequest request =
UpdateSubscriptionRequest.newBuilder()
.setSubscription(Subscription.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Subscription> future =
subscriptionAdminClient.updateSubscriptionCallable().futureCall(request);
// Do something.
Subscription response = future.get();
}
Type | Description |
UnaryCallable<UpdateSubscriptionRequest,Subscription> |