Eventarc processes events generated by an event provider and delivers them to a subscriber.
An event provider is a software-as-a-service (SaaS) system or product that can generate and deliver events through Eventarc.
A third-party event provider is an event provider from outside of Google.
A partner is a third-party event provider that is integrated with Eventarc.
A subscriber is a Google Cloud customer interested in receiving events.
Channel is a first-class Eventarc resource that is created and managed by the subscriber in their Google Cloud project. A Channel represents a subscriber's intent to receive events from an event provider. A Channel is associated with exactly one event provider.
ChannelConnection is a first-class Eventarc resource that is created and managed by the partner in their Google Cloud project. A ChannelConnection represents a connection between a partner and a subscriber's Channel. A ChannelConnection has a one-to-one mapping with a Channel.
Bus is a first-class Eventarc resource that is created and managed in a Google Cloud project. A Bus provides a discoverable endpoint for events and is a router that receives all events published by event providers and delivers them to zero or more subscribers.
Publisher allows an event provider to publish events to Eventarc.
Equality
Instances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal std::shared_ptr<*Connection> objects compare equal. Objects that compare equal share the same underlying resources.
Performance
Creating a new instance of this class is a relatively expensive operation, new objects establish new connections to the service. In contrast, copy-construction, move-construction, and the corresponding assignment operations are relatively efficient as the copies share all underlying resources.
Thread Safety
Concurrent access to different instances of this class, even if they compare equal, is guaranteed to work. Two or more threads operating on the same instance of this class is not guaranteed to work. Since copy-construction and move-construction is a relatively efficient operation, consider using such a copy when using this class from multiple threads.
Unary RPCs, such as the one wrapped by this function, receive a single request proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.eventarc.publishing.v1.PublishEventsRequest. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
Unary RPCs, such as the one wrapped by this function, receive a single request proto message which includes all the inputs for the RPC. In this case, the proto message is a google.cloud.eventarc.publishing.v1.PublishRequest. Proto messages are converted to C++ classes by Protobuf, using the Protobuf mapping rules.
opts
Options
Optional. Override the class-level options, such as retry and backoff policies.
[[["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."],[[["\u003cp\u003eThis page provides documentation for the \u003ccode\u003ePublisherClient\u003c/code\u003e class within the Google Cloud Eventarc Publishing v1 C++ library, with the latest release being version 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePublisherClient\u003c/code\u003e class facilitates the publishing of events to Eventarc, whether it be to a subscriber's channel, a partner's \u003ccode\u003eChannelConnection\u003c/code\u003e, or a message bus, through \u003ccode\u003ePublishEvents\u003c/code\u003e, \u003ccode\u003ePublishChannelConnectionEvents\u003c/code\u003e, and \u003ccode\u003ePublish\u003c/code\u003e methods respectively.\u003c/p\u003e\n"],["\u003cp\u003eEventarc processes events from various providers and delivers them to subscribers, with key resources being \u003ccode\u003eChannel\u003c/code\u003e, \u003ccode\u003eChannelConnection\u003c/code\u003e, and \u003ccode\u003eBus\u003c/code\u003e, and a \u003ccode\u003ePublisher\u003c/code\u003e allowing event providers to publish events.\u003c/p\u003e\n"],["\u003cp\u003eInstances of the \u003ccode\u003ePublisherClient\u003c/code\u003e class can be copied and moved efficiently, sharing underlying resources, and while thread safety is ensured for concurrent access to different instances, simultaneous operations on the same instance are not guaranteed.\u003c/p\u003e\n"],["\u003cp\u003eThere is a list of older versions of the \u003ccode\u003ePublisherClient\u003c/code\u003e available, going from version 2.36.0 down to 2.11.0, all of them linking to their specific documentation page.\u003c/p\u003e\n"]]],[],null,["# Class PublisherClient (2.42.0-rc)\n\nVersion latestkeyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/eventarc/latest/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.41.0](/cpp/docs/reference/eventarc/2.41.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.40.0](/cpp/docs/reference/eventarc/2.40.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.39.0](/cpp/docs/reference/eventarc/2.39.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.38.0](/cpp/docs/reference/eventarc/2.38.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.37.0](/cpp/docs/reference/eventarc/2.37.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.36.0](/cpp/docs/reference/eventarc/2.36.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.35.0](/cpp/docs/reference/eventarc/2.35.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.34.0](/cpp/docs/reference/eventarc/2.34.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.33.0](/cpp/docs/reference/eventarc/2.33.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.32.0](/cpp/docs/reference/eventarc/2.32.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.31.0](/cpp/docs/reference/eventarc/2.31.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.30.0](/cpp/docs/reference/eventarc/2.30.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.29.0](/cpp/docs/reference/eventarc/2.29.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.28.0](/cpp/docs/reference/eventarc/2.28.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.27.0](/cpp/docs/reference/eventarc/2.27.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.26.0](/cpp/docs/reference/eventarc/2.26.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.25.1](/cpp/docs/reference/eventarc/2.25.1/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.24.0](/cpp/docs/reference/eventarc/2.24.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.23.0](/cpp/docs/reference/eventarc/2.23.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.22.1](/cpp/docs/reference/eventarc/2.22.1/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.21.0](/cpp/docs/reference/eventarc/2.21.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.20.0](/cpp/docs/reference/eventarc/2.20.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.19.0](/cpp/docs/reference/eventarc/2.19.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.18.0](/cpp/docs/reference/eventarc/2.18.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.17.0](/cpp/docs/reference/eventarc/2.17.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.16.0](/cpp/docs/reference/eventarc/2.16.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.15.1](/cpp/docs/reference/eventarc/2.15.1/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.14.0](/cpp/docs/reference/eventarc/2.14.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.13.0](/cpp/docs/reference/eventarc/2.13.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.12.0](/cpp/docs/reference/eventarc/2.12.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient)\n- [2.11.0](/cpp/docs/reference/eventarc/2.11.0/classgoogle_1_1cloud_1_1eventarc__publishing__v1_1_1PublisherClient) \nEventarc processes events generated by an event provider and delivers them to a subscriber. \nAn event provider is a software-as-a-service (SaaS) system or product that can generate and deliver events through Eventarc.\n\nA third-party event provider is an event provider from outside of Google.\n\nA partner is a third-party event provider that is integrated with Eventarc.\n\nA subscriber is a Google Cloud customer interested in receiving events.\n\nChannel is a first-class Eventarc resource that is created and managed by the subscriber in their Google Cloud project. A Channel represents a subscriber's intent to receive events from an event provider. A Channel is associated with exactly one event provider.\n\nChannelConnection is a first-class Eventarc resource that is created and managed by the partner in their Google Cloud project. A ChannelConnection represents a connection between a partner and a subscriber's Channel. A ChannelConnection has a one-to-one mapping with a Channel.\n\nBus is a first-class Eventarc resource that is created and managed in a Google Cloud project. A Bus provides a discoverable endpoint for events and is a router that receives all events published by event providers and delivers them to zero or more subscribers.\n\nPublisher allows an event provider to publish events to Eventarc.\n\n###### Equality\n\nInstances of this class created via copy-construction or copy-assignment always compare equal. Instances created with equal `std::shared_ptr\u003c*Connection\u003e` objects compare equal. Objects that compare equal share the same underlying resources.\n\n###### Performance\n\nCreating a new instance of this class is a relatively expensive operation, new objects establish new connections to the service. In contrast, copy-construction, move-construction, and the corresponding assignment operations are relatively efficient as the copies share all underlying resources.\n\n###### Thread Safety\n\nConcurrent access to different instances of this class, even if they compare equal, is guaranteed to work. Two or more threads operating on the same instance of this class is not guaranteed to work. Since copy-construction and move-construction is a relatively efficient operation, consider using such a copy when using this class from multiple threads.\n\nConstructors\n------------\n\n### PublisherClient(PublisherClient const \\&)\n\nCopy and move support\n\n### PublisherClient(PublisherClient \\&\\&)\n\nCopy and move support\n\n### PublisherClient(std::shared_ptr\\\u003c PublisherConnection \\\u003e, Options)\n\nOperators\n---------\n\n### operator=(PublisherClient const \\&)\n\nCopy and move support\n\n### operator=(PublisherClient \\&\\&)\n\nCopy and move support\n\nFunctions\n---------\n\n### PublishChannelConnectionEvents(google::cloud::eventarc::publishing::v1::PublishChannelConnectionEventsRequest const \\&, Options)\n\nPublish events to a ChannelConnection in a partner's project.\n\n### PublishEvents(google::cloud::eventarc::publishing::v1::PublishEventsRequest const \\&, Options)\n\nPublish events to a subscriber's channel.\n\n### Publish(google::cloud::eventarc::publishing::v1::PublishRequest const \\&, Options)\n\nPublish events to a message bus."]]