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 GCP customer interested in receiving events.
Channel is a first-class Eventarc resource that is created and managed
by the subscriber in their GCP 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 GCP 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.
Publisher allows an event provider to publish events to Eventarc.
[[["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-07 UTC."],[[["\u003cp\u003e\u003ccode\u003ePublisherClientImpl\u003c/code\u003e is a concrete implementation of the \u003ccode\u003ePublisherClient\u003c/code\u003e class for the Eventarc Publishing v1 API, designed for ease of use.\u003c/p\u003e\n"],["\u003cp\u003eThis class enables the publishing of events to message buses, channel connections, and subscriber channels through methods like \u003ccode\u003ePublish\u003c/code\u003e, \u003ccode\u003ePublishChannelConnectionEvents\u003c/code\u003e, and \u003ccode\u003ePublishEvents\u003c/code\u003e, with both synchronous and asynchronous options.\u003c/p\u003e\n"],["\u003cp\u003eIt inherits properties and methods from \u003ccode\u003ePublisherClient\u003c/code\u003e, including \u003ccode\u003eDefaultEndpoint\u003c/code\u003e, \u003ccode\u003eDefaultScopes\u003c/code\u003e, and \u003ccode\u003eServiceMetadata\u003c/code\u003e, among others, and it also overrides methods like \u003ccode\u003eGrpcClient\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ePublisherClientImpl\u003c/code\u003e allows construction with a gRPC client, settings, and an optional logger for detailed control and monitoring.\u003c/p\u003e\n"],["\u003cp\u003eEventarc, through use of Publisher, allows event providers to publish events, manage channel connections between partners and subscribers, and to deliver events to subscribers.\u003c/p\u003e\n"]]],[],null,["# Eventarc Publishing v1 API - Class PublisherClientImpl (2.0.0-beta07)\n\nVersion latestkeyboard_arrow_down\n\n- [2.0.0-beta07 (latest)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClientImpl)\n- [2.0.0-beta06](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/2.0.0-beta06/Google.Cloud.Eventarc.Publishing.V1.PublisherClientImpl)\n- [1.0.0-beta02](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/1.0.0-beta02/Google.Cloud.Eventarc.Publishing.V1.PublisherClientImpl) \n\n public sealed class PublisherClientImpl : PublisherClient\n\nReference documentation and code samples for the Eventarc Publishing v1 API class PublisherClientImpl.\n\nPublisher client wrapper implementation, for convenient use. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e [PublisherClient](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient) \\\u003e PublisherClientImpl \n\nInherited Members\n-----------------\n\n[PublisherClient.DefaultEndpoint](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_DefaultEndpoint) \n[PublisherClient.DefaultScopes](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_DefaultScopes) \n[PublisherClient.ServiceMetadata](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_ServiceMetadata) \n[PublisherClient.CreateAsync(CancellationToken)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_CreateAsync_System_Threading_CancellationToken_) \n[PublisherClient.Create()](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_Create) \n[PublisherClient.ShutdownDefaultChannelsAsync()](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_ShutdownDefaultChannelsAsync) \n[PublisherClient.PublishChannelConnectionEventsAsync(PublishChannelConnectionEventsRequest, CancellationToken)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_PublishChannelConnectionEventsAsync_Google_Cloud_Eventarc_Publishing_V1_PublishChannelConnectionEventsRequest_System_Threading_CancellationToken_) \n[PublisherClient.PublishEventsAsync(PublishEventsRequest, CancellationToken)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_PublishEventsAsync_Google_Cloud_Eventarc_Publishing_V1_PublishEventsRequest_System_Threading_CancellationToken_) \n[PublisherClient.PublishAsync(PublishRequest, CancellationToken)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_PublishAsync_Google_Cloud_Eventarc_Publishing_V1_PublishRequest_System_Threading_CancellationToken_) \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Eventarc.Publishing.V1](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Eventarc.Publishing.V1.dll\n\nRemarks\n-------\n\nEventarc processes events generated by an event provider and delivers them to\na subscriber.\n\nAn event provider is a software-as-a-service (SaaS) system or\nproduct 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 GCP customer interested in receiving events.\n\nChannel is a first-class Eventarc resource that is created and managed\nby the subscriber in their GCP project. A Channel represents a subscriber's\nintent to receive events from an event provider. A Channel is associated with\nexactly one event provider.\n\nChannelConnection is a first-class Eventarc resource that\nis created and managed by the partner in their GCP project. A\nChannelConnection represents a connection between a partner and a\nsubscriber's Channel. A ChannelConnection has a one-to-one mapping with a\nChannel.\n\nPublisher allows an event provider to publish events to Eventarc.\n\nConstructors\n------------\n\n### PublisherClientImpl(PublisherClient, PublisherSettings, ILogger)\n\n public PublisherClientImpl(Publisher.PublisherClient grpcClient, PublisherSettings settings, ILogger logger)\n\nConstructs a client wrapper for the Publisher service, with the specified gRPC client and settings.\n\nProperties\n----------\n\n### GrpcClient\n\n public override Publisher.PublisherClient GrpcClient { get; }\n\nThe underlying gRPC Publisher client\n\n**Overrides** \n[PublisherClient.GrpcClient](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_GrpcClient)\n\nMethods\n-------\n\n### Publish(PublishRequest, CallSettings)\n\n public override PublishResponse Publish(PublishRequest request, CallSettings callSettings = null)\n\nPublish events to a message bus.\n\n**Overrides** \n[PublisherClient.Publish(PublishRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_Publish_Google_Cloud_Eventarc_Publishing_V1_PublishRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### PublishAsync(PublishRequest, CallSettings)\n\n public override Task\u003cPublishResponse\u003e PublishAsync(PublishRequest request, CallSettings callSettings = null)\n\nPublish events to a message bus.\n\n**Overrides** \n[PublisherClient.PublishAsync(PublishRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_PublishAsync_Google_Cloud_Eventarc_Publishing_V1_PublishRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### PublishChannelConnectionEvents(PublishChannelConnectionEventsRequest, CallSettings)\n\n public override PublishChannelConnectionEventsResponse PublishChannelConnectionEvents(PublishChannelConnectionEventsRequest request, CallSettings callSettings = null)\n\nPublish events to a ChannelConnection in a partner's project.\n\n**Overrides** \n[PublisherClient.PublishChannelConnectionEvents(PublishChannelConnectionEventsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_PublishChannelConnectionEvents_Google_Cloud_Eventarc_Publishing_V1_PublishChannelConnectionEventsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### PublishChannelConnectionEventsAsync(PublishChannelConnectionEventsRequest, CallSettings)\n\n public override Task\u003cPublishChannelConnectionEventsResponse\u003e PublishChannelConnectionEventsAsync(PublishChannelConnectionEventsRequest request, CallSettings callSettings = null)\n\nPublish events to a ChannelConnection in a partner's project.\n\n**Overrides** \n[PublisherClient.PublishChannelConnectionEventsAsync(PublishChannelConnectionEventsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_PublishChannelConnectionEventsAsync_Google_Cloud_Eventarc_Publishing_V1_PublishChannelConnectionEventsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### PublishEvents(PublishEventsRequest, CallSettings)\n\n public override PublishEventsResponse PublishEvents(PublishEventsRequest request, CallSettings callSettings = null)\n\nPublish events to a subscriber's channel.\n\n**Overrides** \n[PublisherClient.PublishEvents(PublishEventsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_PublishEvents_Google_Cloud_Eventarc_Publishing_V1_PublishEventsRequest_Google_Api_Gax_Grpc_CallSettings_)\n\n### PublishEventsAsync(PublishEventsRequest, CallSettings)\n\n public override Task\u003cPublishEventsResponse\u003e PublishEventsAsync(PublishEventsRequest request, CallSettings callSettings = null)\n\nPublish events to a subscriber's channel.\n\n**Overrides** \n[PublisherClient.PublishEventsAsync(PublishEventsRequest, CallSettings)](/dotnet/docs/reference/Google.Cloud.Eventarc.Publishing.V1/latest/Google.Cloud.Eventarc.Publishing.V1.PublisherClient#Google_Cloud_Eventarc_Publishing_V1_PublisherClient_PublishEventsAsync_Google_Cloud_Eventarc_Publishing_V1_PublishEventsRequest_Google_Api_Gax_Grpc_CallSettings_)"]]