The default endpoint is the global endpoint: "pubsub.googleapis.com".
In some cases, you may need to point the client and a regional or locational endpoint, typically designated by some prefix applied to the service name (e.g. "europe-central2-pubsub.googleapis.com". This can be accomplished by using theMakePublisherConnectionoverload which accepts alocationparameter.
In rare cases, you may need to override the global endpoint used by the client library. This typically occurs in testing or Private Google Access cases. Use thegoogle::cloud::EndpointOptionwhen initializing the client library to change this default. For example, this will override the default endpoint forgoogle::cloud::pubsub::Publisher:
namespace pubsub = ::google::cloud::pubsub;
using ::google::cloud::Options;
[](std::string const& project_id, std::string const& topic_id) {
// This service supports specifying a regional or locational endpoint prefix
// when creating the SubscriptionAdminConnection.
// For example, to connect to "europe-central2-pubsub.googleapis.com":
auto pub = pubsub::Publisher(pubsub::MakePublisherConnection(
"europe-central2", pubsub::Topic(project_id, topic_id)));
// This configuration is common with Private Google Access:
// https://cloud.google.com/vpc/docs/private-google-access
auto vpc_pub = pubsub::Publisher(pubsub::MakePublisherConnection(
pubsub::Topic(project_id, topic_id),
Options{}.set<google::cloud::EndpointOption>(
"private.googleapis.com")));
}
Follow these links to find examples for other*Clientclasses:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["Version 2.39.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/pubsub/latest/pubsub-endpoint-example)\n- [2.41.0](/cpp/docs/reference/pubsub/2.41.0/pubsub-endpoint-example)\n- [2.40.0](/cpp/docs/reference/pubsub/2.40.0/pubsub-endpoint-example)\n- [2.39.0](/cpp/docs/reference/pubsub/2.39.0/pubsub-endpoint-example)\n- [2.38.0](/cpp/docs/reference/pubsub/2.38.0/pubsub-endpoint-example)\n- [2.37.0](/cpp/docs/reference/pubsub/2.37.0/pubsub-endpoint-example)\n- [2.36.0](/cpp/docs/reference/pubsub/2.36.0/pubsub-endpoint-example)\n- [2.35.0](/cpp/docs/reference/pubsub/2.35.0/pubsub-endpoint-example)\n- [2.34.0](/cpp/docs/reference/pubsub/2.34.0/pubsub-endpoint-example)\n- [2.33.0](/cpp/docs/reference/pubsub/2.33.0/pubsub-endpoint-example)\n- [2.32.0](/cpp/docs/reference/pubsub/2.32.0/pubsub-endpoint-example)\n- [2.31.0](/cpp/docs/reference/pubsub/2.31.0/pubsub-endpoint-example)\n- [2.30.0](/cpp/docs/reference/pubsub/2.30.0/pubsub-endpoint-example)\n- [2.29.0](/cpp/docs/reference/pubsub/2.29.0/pubsub-endpoint-example)\n- [2.28.0](/cpp/docs/reference/pubsub/2.28.0/pubsub-endpoint-example)\n- [2.27.0](/cpp/docs/reference/pubsub/2.27.0/pubsub-endpoint-example)\n- [2.26.0](/cpp/docs/reference/pubsub/2.26.0/pubsub-endpoint-example)\n- [2.25.1](/cpp/docs/reference/pubsub/2.25.1/pubsub-endpoint-example)\n- [2.24.0](/cpp/docs/reference/pubsub/2.24.0/pubsub-endpoint-example)\n- [2.23.0](/cpp/docs/reference/pubsub/2.23.0/pubsub-endpoint-example)\n- [2.22.1](/cpp/docs/reference/pubsub/2.22.1/pubsub-endpoint-example)\n- [2.21.0](/cpp/docs/reference/pubsub/2.21.0/pubsub-endpoint-example)\n- [2.20.0](/cpp/docs/reference/pubsub/2.20.0/pubsub-endpoint-example)\n- [2.19.0](/cpp/docs/reference/pubsub/2.19.0/pubsub-endpoint-example)\n- [2.18.0](/cpp/docs/reference/pubsub/2.18.0/pubsub-endpoint-example)\n- [2.17.0](/cpp/docs/reference/pubsub/2.17.0/pubsub-endpoint-example)\n- [2.16.0](/cpp/docs/reference/pubsub/2.16.0/pubsub-endpoint-example)\n- [2.15.1](/cpp/docs/reference/pubsub/2.15.1/pubsub-endpoint-example)\n- [2.14.0](/cpp/docs/reference/pubsub/2.14.0/pubsub-endpoint-example)\n- [2.13.0](/cpp/docs/reference/pubsub/2.13.0/pubsub-endpoint-example)\n- [2.12.0](/cpp/docs/reference/pubsub/2.12.0/pubsub-endpoint-example)\n- [2.11.0](/cpp/docs/reference/pubsub/2.11.0/pubsub-endpoint-example) \n\nOverride the default endpoint\n=============================\n\nThe default endpoint is the global endpoint: \"pubsub.googleapis.com\".\n\nIn some cases, you may need to point the client and a regional or locational endpoint, typically designated by some prefix applied to the service name (e.g. \"europe-central2-pubsub.googleapis.com\". This can be accomplished by using the `MakePublisherConnection` overload which accepts a `location` parameter.\n\nIn rare cases, you may need to override the global endpoint used by the client library. This typically occurs in testing or Private Google Access cases. Use the [`google::cloud::EndpointOption`](https://cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1EndpointOption.html) when initializing the client library to change this default. For example, this will override the default endpoint for [`google::cloud::pubsub::Publisher`](/cpp/docs/reference/pubsub/2.39.0/classgoogle_1_1cloud_1_1pubsub_1_1Publisher): \n\n namespace pubsub = ::google::cloud::pubsub;\n using ::google::cloud::Options;\n [](std::string const& project_id, std::string const& topic_id) {\n // This service supports specifying a regional or locational endpoint prefix\n // when creating the SubscriptionAdminConnection.\n // For example, to connect to \"europe-central2-pubsub.googleapis.com\":\n auto pub = pubsub::Publisher(pubsub::MakePublisherConnection(\n \"europe-central2\", pubsub::Topic(project_id, topic_id)));\n\n // This configuration is common with Private Google Access:\n // https://cloud.google.com/vpc/docs/private-google-access\n auto vpc_pub = pubsub::Publisher(pubsub::MakePublisherConnection(\n pubsub::Topic(project_id, topic_id),\n Options{}.set\u003cgoogle::cloud::EndpointOption\u003e(\n \"private.googleapis.com\")));\n }\n\nFollow these links to find examples for other `*Client` classes:\n\n- [`Subscriber`](/cpp/docs/reference/pubsub/2.39.0/Subscriber-endpoint-snippet)\n- [`BlockingPublisher`](/cpp/docs/reference/pubsub/2.39.0/BlockingPublisher-endpoint-snippet)\n- [`TopicAdminClient`](/cpp/docs/reference/pubsub/2.39.0/TopicAdminClient-endpoint-snippet)\n- [`SubscriptionAdminClient`](/cpp/docs/reference/pubsub/2.39.0/SubscriptionAdminClient-endpoint-snippet)\n- [`SchemaServiceClient`](/cpp/docs/reference/pubsub/2.39.0/SchemaServiceClient-endpoint-snippet)\n- [`Publisher`](/cpp/docs/reference/pubsub/2.39.0/Publisher-endpoint-snippet)"]]