Package google.cloud.eventarc.publishing.v1

Index

Publisher

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.

Publish

rpc Publish(PublishRequest) returns (PublishResponse)

Publish events to a message bus.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

PublishChannelConnectionEvents

rpc PublishChannelConnectionEvents(PublishChannelConnectionEventsRequest) returns (PublishChannelConnectionEventsResponse)

Publish events to a ChannelConnection in a partner's project.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

PublishEvents

rpc PublishEvents(PublishEventsRequest) returns (PublishEventsResponse)

Publish events to a subscriber's channel.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CloudEvent

CloudEvent represents a vendor-neutral specification for defining the format of event data.

Fields
id

string

Required. Identifies the event. Producers MUST ensure that source + id is unique for each distinct event.

source

string

Required. Identifies the context in which an event happened. URI-reference

spec_version

string

Required. The version of the CloudEvents specification which the event uses.

type

string

Required. This attribute contains a value describing the type of event related to the originating occurrence.

attributes

map<string, CloudEventAttributeValue>

Optional. Used for Optional & Extension Attributes

Union field data. The event payload. It should be encoded into a media format which is specified by the 'datacontenttype' attribute (e.g. application/json), and adheres to the dataschema format when those respective attributes are present. data can be only one of the following:
binary_data

bytes

Optional. Binary data.

text_data

string

Optional. Text data.

proto_data

Any

Optional. Proto data.

CloudEventAttributeValue

The following abstract data types are available for use in attributes.

Fields
Union field attr. The value of the attribute. attr can be only one of the following:
ce_boolean

bool

Boolean value.

ce_integer

int32

Integer value.

ce_string

string

String value.

ce_bytes

bytes

Bytes value.

ce_uri

string

URI value.

ce_uri_ref

string

URI-reference value.

ce_timestamp

Timestamp

Timestamp value.

PublishChannelConnectionEventsRequest

The request message for the PublishChannelConnectionEvents method.

Fields
channel_connection

string

The channel_connection that the events are published from. For example: projects/{partner_project_id}/locations/{location}/channelConnections/{channel_connection_id}.

events[]

Any

The CloudEvents v1.0 events to publish. No other types are allowed. If this field is set, then the text_events fields must not be set.

text_events[]

string

The text representation of events to publish. CloudEvent v1.0 in JSON format is the only allowed type. Refer to https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/formats/json-format.md for specification. If this field is set, then the events fields must not be set.

PublishChannelConnectionEventsResponse

This type has no fields.

The response message for the PublishChannelConnectionEvents method.

PublishEventsRequest

The request message for the PublishEvents method.

Fields
channel

string

The full name of the channel to publish to. For example: projects/{project}/locations/{location}/channels/{channel-id}.

events[]

Any

The CloudEvents v1.0 events to publish. No other types are allowed. If this field is set, then the text_events fields must not be set.

text_events[]

string

The text representation of events to publish. CloudEvent v1.0 in JSON format is the only allowed type. Refer to https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/formats/json-format.md for specification. If this field is set, then the events fields must not be set.

PublishEventsResponse

This type has no fields.

The response message for the PublishEvents method.

PublishRequest

The request message for the Publish method.

Fields
message_bus

string

Required. The full name of the message bus to publish events to. Format: projects/{project}/locations/{location}/messageBuses/{messageBus}.

Union field format.

format can be only one of the following:

proto_message

CloudEvent

The Protobuf format of the CloudEvent being published. Specification can be found here: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/formats/protobuf-format.md

json_message

string

The JSON format of the CloudEvent being published. Specification can be found here: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/formats/json-format.md

avro_message

bytes

The Avro format of the CloudEvent being published. Specification can be found here: https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/formats/avro-format.md

PublishResponse

This type has no fields.

The response message for the Publish method.