Class SubscriptionBuilder (2.12.0)
Note: Some or all of the information on this page might not apply
to Trusted Cloud. For a list of services that are available in
Trusted Cloud, see Services available for
Trusted Cloud .
Version 2.12.0keyboard_arrow_down
Create a Cloud Pub/Sub subscription configuration.
Makes it easier to create the protobuf messages consumed by SubscriptionAdminClient
. The main advantages are:
Use a fluent API to set multiple values when constructing complex objects.
Automatically compute the set of paths for update requests.
Constructors
SubscriptionBuilder()
Functions
set_push_config(PushConfigBuilder) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
PushConfigBuilder
Returns
Type
Description
SubscriptionBuilder &
set_push_config(PushConfigBuilder) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
PushConfigBuilder
Returns
Type
Description
SubscriptionBuilder &&
set_bigquery_config(BigQueryConfigBuilder) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
BigQueryConfigBuilder
Returns
Type
Description
SubscriptionBuilder &
set_bigquery_config(BigQueryConfigBuilder) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
BigQueryConfigBuilder
Returns
Type
Description
SubscriptionBuilder &&
set_cloud_storage_config(CloudStorageConfigBuilder) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
CloudStorageConfigBuilder
Returns
Type
Description
SubscriptionBuilder &
set_cloud_storage_config(CloudStorageConfigBuilder) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
CloudStorageConfigBuilder
Returns
Type
Description
SubscriptionBuilder &&
set_ack_deadline(std::chrono::seconds) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
std::chrono::seconds
Returns
Type
Description
SubscriptionBuilder &
set_ack_deadline(std::chrono::seconds) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
std::chrono::seconds
Returns
Type
Description
SubscriptionBuilder &&
set_retain_acked_messages(bool) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
bool
Returns
Type
Description
SubscriptionBuilder &
set_retain_acked_messages(bool) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
bool
Returns
Type
Description
SubscriptionBuilder &&
set_message_retention_duration(std::chrono::duration< Rep, Period >) &
Setters for each protocol buffer field.
Parameters
Name
Description
d
std::chrono::duration< Rep, Period >
typename Rep
typename Period
Returns
Type
Description
SubscriptionBuilder &
set_message_retention_duration(std::chrono::duration< Rep, Period >) &&
Setters for each protocol buffer field.
Parameters
Name
Description
d
std::chrono::duration< Rep, Period >
typename Rep
typename Period
Returns
Type
Description
SubscriptionBuilder &&
add_label(std::string const &, std::string const &) &
Setters for each protocol buffer field.
Parameters
Name
Description
key
std::string const &
value
std::string const &
Returns
Type
Description
SubscriptionBuilder &
add_label(std::string const &, std::string const &) &&
Setters for each protocol buffer field.
Parameters
Name
Description
key
std::string const &
value
std::string const &
Returns
Type
Description
SubscriptionBuilder &&
set_labels(std::vector< std::pair< std::string, std::string > >) &
Setters for each protocol buffer field.
Parameter
Name
Description
new_labels
std::vector< std::pair< std::string, std::string > >
Returns
Type
Description
SubscriptionBuilder &
set_labels(std::vector< std::pair< std::string, std::string > >) &&
Setters for each protocol buffer field.
Parameter
Name
Description
new_labels
std::vector< std::pair< std::string, std::string > >
Returns
Type
Description
SubscriptionBuilder &&
clear_labels() &
Setters for each protocol buffer field.
Returns
Type
Description
SubscriptionBuilder &
clear_labels() &&
Setters for each protocol buffer field.
Returns
Type
Description
SubscriptionBuilder &&
enable_message_ordering(bool) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
bool
Returns
Type
Description
SubscriptionBuilder &
enable_message_ordering(bool) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
bool
Returns
Type
Description
SubscriptionBuilder &&
set_expiration_policy(google::pubsub::v1::ExpirationPolicy) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
google::pubsub::v1::ExpirationPolicy
Returns
Type
Description
SubscriptionBuilder &
set_expiration_policy(google::pubsub::v1::ExpirationPolicy) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
google::pubsub::v1::ExpirationPolicy
Returns
Type
Description
SubscriptionBuilder &&
set_filter(std::string) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
std::string
Returns
Type
Description
SubscriptionBuilder &
set_filter(std::string) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
std::string
Returns
Type
Description
SubscriptionBuilder &&
set_dead_letter_policy(google::pubsub::v1::DeadLetterPolicy) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
google::pubsub::v1::DeadLetterPolicy
Returns
Type
Description
SubscriptionBuilder &
set_dead_letter_policy(google::pubsub::v1::DeadLetterPolicy) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
google::pubsub::v1::DeadLetterPolicy
Returns
Type
Description
SubscriptionBuilder &&
clear_dead_letter_policy() &
Setters for each protocol buffer field.
Returns
Type
Description
SubscriptionBuilder &
clear_dead_letter_policy() &&
Setters for each protocol buffer field.
Returns
Type
Description
SubscriptionBuilder &&
set_retry_policy(google::pubsub::v1::RetryPolicy) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
google::pubsub::v1::RetryPolicy
Returns
Type
Description
SubscriptionBuilder &
set_retry_policy(google::pubsub::v1::RetryPolicy) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
google::pubsub::v1::RetryPolicy
Returns
Type
Description
SubscriptionBuilder &&
clear_retry_policy() &
Setters for each protocol buffer field.
Returns
Type
Description
SubscriptionBuilder &
clear_retry_policy() &&
Setters for each protocol buffer field.
Returns
Type
Description
SubscriptionBuilder &&
enable_exactly_once_delivery(bool) &
Setters for each protocol buffer field.
Parameter
Name
Description
v
bool
Returns
Type
Description
SubscriptionBuilder &
enable_exactly_once_delivery(bool) &&
Setters for each protocol buffer field.
Parameter
Name
Description
v
bool
Returns
Type
Description
SubscriptionBuilder &&
BuildUpdateRequest(Subscription const &) &&
Build a protocol buffer message to update an existing subscription.
Parameter
Name
Description
subscription
Subscription const &
Returns
Type
Description
google::pubsub::v1::UpdateSubscriptionRequest
BuildCreateRequest(Topic const &, Subscription const &) &&
Build a protocol buffer message to create a new subscription.
Parameters
Name
Description
topic
Topic const &
subscription
Subscription const &
Returns
Type
Description
google::pubsub::v1::Subscription
static MakeExpirationPolicy(std::chrono::duration< Rep, Period >)
Construct a google::pubsub::v1::ExpirationPolicy
using a C++ duration.
Parameters
Name
Description
d
std::chrono::duration< Rep, Period >
typename Rep
typename Period
Returns
Type
Description
google::pubsub::v1::ExpirationPolicy
static MakeDeadLetterPolicy(Topic const &, std::int32_t)
Construct a google::pubsub::v1::DeadLetterPolicy
.
Parameters
Name
Description
dead_letter_topic
Topic const &
max_delivery_attempts
std::int32_t
Returns
Type
Description
google::pubsub::v1::DeadLetterPolicy
static MakeRetryPolicy(std::chrono::duration< Rep1, Period1 >, std::chrono::duration< Rep2, Period2 >)
Construct a google::pubsub::v1::RetryPolicy
using C++ durations.
Parameters
Name
Description
minimum_backoff
std::chrono::duration< Rep1, Period1 >
maximum_backoff
std::chrono::duration< Rep2, Period2 >
typename Rep1
typename Period1
typename Rep2
typename Period2
Returns
Type
Description
google::pubsub::v1::RetryPolicy
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eSubscriptionBuilder\u003c/code\u003e class simplifies the creation of Cloud Pub/Sub subscription configurations and related protocol buffer messages for use with \u003ccode\u003eSubscriptionAdminClient\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt offers a fluent API that allows setting multiple values and computing paths for update requests efficiently when constructing complex objects.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eSubscriptionBuilder\u003c/code\u003e provides methods to configure various settings such as push configurations, BigQuery and Cloud Storage integrations, acknowledgment deadlines, message retention, labels, message ordering, and other policy settings such as dead letter and retry policies.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes static convenience functions like \u003ccode\u003eMakeExpirationPolicy\u003c/code\u003e, \u003ccode\u003eMakeDeadLetterPolicy\u003c/code\u003e, and \u003ccode\u003eMakeRetryPolicy\u003c/code\u003e to simplify the creation of policy objects using C++ durations and other relevant parameters.\u003c/p\u003e\n"],["\u003cp\u003eThis library has various versions available, as shown in the included list from version \u003ccode\u003e2.37.0-rc\u003c/code\u003e down to \u003ccode\u003e2.11.0\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]