Index
Publisher
(interface)SchemaService
(interface)Subscriber
(interface)AcknowledgeRequest
(message)BigQueryConfig
(message)BigQueryConfig.State
(enum)CloudStorageConfig
(message)CloudStorageConfig.AvroConfig
(message)CloudStorageConfig.State
(enum)CloudStorageConfig.TextConfig
(message)CommitSchemaRequest
(message)CreateSchemaRequest
(message)CreateSnapshotRequest
(message)DeadLetterPolicy
(message)DeleteSchemaRequest
(message)DeleteSchemaRevisionRequest
(message)DeleteSnapshotRequest
(message)DeleteSubscriptionRequest
(message)DeleteTopicRequest
(message)DetachSubscriptionRequest
(message)DetachSubscriptionResponse
(message)Encoding
(enum)ExpirationPolicy
(message)GetSchemaRequest
(message)GetSnapshotRequest
(message)GetSubscriptionRequest
(message)GetTopicRequest
(message)IngestionDataSourceSettings
(message)IngestionDataSourceSettings.AwsKinesis
(message)IngestionDataSourceSettings.AwsKinesis.State
(enum)ListSchemaRevisionsRequest
(message)ListSchemaRevisionsResponse
(message)ListSchemasRequest
(message)ListSchemasResponse
(message)ListSnapshotsRequest
(message)ListSnapshotsResponse
(message)ListSubscriptionsRequest
(message)ListSubscriptionsResponse
(message)ListTopicSnapshotsRequest
(message)ListTopicSnapshotsResponse
(message)ListTopicSubscriptionsRequest
(message)ListTopicSubscriptionsResponse
(message)ListTopicsRequest
(message)ListTopicsResponse
(message)MessageStoragePolicy
(message)ModifyAckDeadlineRequest
(message)ModifyPushConfigRequest
(message)PublishRequest
(message)PublishResponse
(message)PubsubMessage
(message)PullRequest
(message)PullResponse
(message)PushConfig
(message)PushConfig.NoWrapper
(message)PushConfig.OidcToken
(message)PushConfig.PubsubWrapper
(message)ReceivedMessage
(message)RetryPolicy
(message)RollbackSchemaRequest
(message)Schema
(message)Schema.Type
(enum)SchemaSettings
(message)SchemaView
(enum)SeekRequest
(message)SeekResponse
(message)Snapshot
(message)StreamingPullRequest
(message)StreamingPullResponse
(message)StreamingPullResponse.AcknowledgeConfirmation
(message)StreamingPullResponse.ModifyAckDeadlineConfirmation
(message)StreamingPullResponse.SubscriptionProperties
(message)Subscription
(message)Subscription.AnalyticsHubSubscriptionInfo
(message)Subscription.State
(enum)Topic
(message)Topic.State
(enum)UpdateSnapshotRequest
(message)UpdateSubscriptionRequest
(message)UpdateTopicRequest
(message)ValidateMessageRequest
(message)ValidateMessageResponse
(message)ValidateSchemaRequest
(message)ValidateSchemaResponse
(message)
Publisher
The service that an application uses to manipulate topics, and to send messages to a topic.
CreateTopic |
---|
Creates the given topic with the given name. See the resource name rules.
|
DeleteTopic |
---|
Deletes the topic with the given name. Returns
|
DetachSubscription |
---|
Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent
|
GetTopic |
---|
Gets the configuration of a topic.
|
ListTopicSnapshots |
---|
Lists the names of the snapshots on this topic. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.
|
ListTopicSubscriptions |
---|
Lists the names of the attached subscriptions on this topic.
|
ListTopics |
---|
Lists matching topics.
|
Publish |
---|
Adds one or more messages to the topic. Returns
|
UpdateTopic |
---|
Updates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable.
|
SchemaService
Service for doing schema-related operations.
CommitSchema |
---|
Commits a new schema revision to an existing schema.
|
CreateSchema |
---|
Creates a schema.
|
DeleteSchema |
---|
Deletes a schema.
|
DeleteSchemaRevision |
---|
Deletes a specific schema revision.
|
GetSchema |
---|
Gets a schema.
|
ListSchemaRevisions |
---|
Lists all schema revisions for the named schema.
|
ListSchemas |
---|
Lists schemas in a project.
|
RollbackSchema |
---|
Creates a new schema revision that is a copy of the provided revision_id.
|
ValidateMessage |
---|
Validates a message against a schema.
|
ValidateSchema |
---|
Validates a schema.
|
Subscriber
The service that an application uses to manipulate subscriptions and to consume messages from a subscription via the Pull
method or by establishing a bi-directional stream using the StreamingPull
method.
Acknowledge |
---|
Acknowledges the messages associated with the Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.
|
CreateSnapshot |
---|
Creates a snapshot from the requested subscription. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns
|
CreateSubscription |
---|
Creates a subscription to a given topic. See the resource name rules. If the subscription already exists, returns If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the resource name format. The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.
|
DeleteSnapshot |
---|
Removes an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.
|
DeleteSubscription |
---|
Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to
|
GetSnapshot |
---|
Gets the configuration details of a snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.
|
GetSubscription |
---|
Gets the configuration details of a subscription.
|
ListSnapshots |
---|
Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.
|
ListSubscriptions |
---|
Lists matching subscriptions.
|
ModifyAckDeadline |
---|
Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level
|
ModifyPushConfig |
---|
Modifies the This may be used to change a push subscription to a pull one (signified by an empty
|
Pull |
---|
Pulls messages from the server.
|
Seek |
---|
Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic.
|
StreamingPull |
---|
Establishes a stream with the server, which sends messages down to the client. The client streams acknowledgements and ack deadline modifications back to the server. The server will close the stream and return the status on any error. The server may close the stream with status
|
UpdateSnapshot |
---|
Updates an existing snapshot by updating the fields specified in the update mask. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.
|
UpdateSubscription |
---|
Updates an existing subscription by updating the fields specified in the update mask. Note that certain properties of a subscription, such as its topic, are not modifiable.
|
AcknowledgeRequest
Request for the Acknowledge method.
Fields | |
---|---|
subscription |
Required. The subscription whose message is being acknowledged. Format is |
ack_ids[] |
Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the |
BigQueryConfig
Configuration for a BigQuery subscription.
Fields | |
---|---|
table |
Optional. The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId} |
use_topic_schema |
Optional. When true, use the topic's schema as the columns to write to in BigQuery, if it exists. |
write_metadata |
Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key to additional columns in the table. The subscription name, message_id, and publish_time fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column. |
drop_unknown_fields |
Optional. When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. |
state |
Output only. An output-only field that indicates whether or not the subscription can receive messages. |
use_table_schema |
Optional. When true, use the BigQuery table's schema as the columns to write to in BigQuery. |
service_account_email |
Optional. The service account to use to write to BigQuery. The subscription creator or updater that specifies this field must have |
State
Possible states for a BigQuery subscription.
Enums | |
---|---|
STATE_UNSPECIFIED |
Default value. This value is unused. |
ACTIVE |
The subscription can actively send messages to BigQuery |
PERMISSION_DENIED |
Cannot write to the BigQuery table because of permission denied errors. This can happen if - Pub/Sub SA has not been granted the appropriate BigQuery IAM permissions - bigquery.googleapis.com API is not enabled for the project (instructions) |
NOT_FOUND |
Cannot write to the BigQuery table because it does not exist. |
SCHEMA_MISMATCH |
Cannot write to the BigQuery table due to a schema mismatch. |
IN_TRANSIT_LOCATION_RESTRICTION |
Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions. |
CloudStorageConfig
Configuration for a Cloud Storage subscription.
Fields | |
---|---|
bucket |
Required. User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like "gs://". See the bucket naming requirements. |
filename_prefix |
Optional. User-provided prefix for Cloud Storage filename. See the object naming requirements. |
filename_suffix |
Optional. User-provided suffix for Cloud Storage filename. See the object naming requirements. Must not end in "/". |
filename_datetime_format |
Optional. User-provided format string specifying how to represent datetimes in Cloud Storage filenames. See the datetime format guidance. |
max_duration |
Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgement deadline. |
max_bytes |
Optional. The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be exceeded in cases where messages are larger than the limit. |
max_messages |
Optional. The maximum number of messages that can be written to a Cloud Storage file before a new file is created. Min 1000 messages. |
state |
Output only. An output-only field that indicates whether or not the subscription can receive messages. |
service_account_email |
Optional. The service account to use to write to Cloud Storage. The subscription creator or updater that specifies this field must have |
Union field output_format . Defaults to text format. output_format can be only one of the following: |
|
text_config |
Optional. If set, message data will be written to Cloud Storage in text format. |
avro_config |
Optional. If set, message data will be written to Cloud Storage in Avro format. |
AvroConfig
Configuration for writing message data in Avro format. Message payloads and metadata will be written to files as an Avro binary.
Fields | |
---|---|
write_metadata |
Optional. When true, write the subscription name, message_id, publish_time, attributes, and ordering_key as additional fields in the output. The subscription name, message_id, and publish_time fields are put in their own fields while all other message properties other than data (for example, an ordering_key, if present) are added as entries in the attributes map. |
use_topic_schema |
Optional. When true, the output Cloud Storage file will be serialized using the topic schema, if it exists. |
State
Possible states for a Cloud Storage subscription.
Enums | |
---|---|
STATE_UNSPECIFIED |
Default value. This value is unused. |
ACTIVE |
The subscription can actively send messages to Cloud Storage. |
PERMISSION_DENIED |
Cannot write to the Cloud Storage bucket because of permission denied errors. |
NOT_FOUND |
Cannot write to the Cloud Storage bucket because it does not exist. |
IN_TRANSIT_LOCATION_RESTRICTION |
Cannot write to the destination because enforce_in_transit is set to true and the destination locations are not in the allowed regions. |
SCHEMA_MISMATCH |
Cannot write to the Cloud Storage bucket due to an incompatibility between the topic schema and subscription settings. |
TextConfig
This type has no fields.
Configuration for writing message data in text format. Message payloads will be written to files as raw text, separated by a newline.
CommitSchemaRequest
Request for CommitSchema method.
Fields | |
---|---|
name |
Required. The name of the schema we are revising. Format is |
schema |
Required. The schema revision to commit. |
CreateSchemaRequest
Request for the CreateSchema method.
Fields | |
---|---|
parent |
Required. The name of the project in which to create the schema. Format is |
schema |
Required. The schema object to create. This schema's |
schema_id |
The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for resource name constraints. |
CreateSnapshotRequest
Request for the CreateSnapshot
method.
Fields | |
---|---|
name |
Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the resource name rules. Format is |
subscription |
Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the |
labels |
Optional. See Creating and managing labels. |
DeadLetterPolicy
Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times.
If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.
Fields | |
---|---|
dead_letter_topic |
Optional. The name of the topic to which dead letter messages should be published. Format is The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost. |
max_delivery_attempts |
Optional. The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgement deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used. |
DeleteSchemaRequest
Request for the DeleteSchema
method.
Fields | |
---|---|
name |
Required. Name of the schema to delete. Format is |
DeleteSchemaRevisionRequest
Request for the DeleteSchemaRevision
method.
Fields | |
---|---|
name |
Required. The name of the schema revision to be deleted, with a revision ID explicitly included. Example: |
revision_id |
Optional. This field is deprecated and should not be used for specifying the revision ID. The revision ID should be specified via the |
DeleteSnapshotRequest
Request for the DeleteSnapshot
method.
Fields | |
---|---|
snapshot |
Required. The name of the snapshot to delete. Format is |
DeleteSubscriptionRequest
Request for the DeleteSubscription method.
Fields | |
---|---|
subscription |
Required. The subscription to delete. Format is |
DeleteTopicRequest
Request for the DeleteTopic
method.
Fields | |
---|---|
topic |
Required. Name of the topic to delete. Format is |
DetachSubscriptionRequest
Request for the DetachSubscription method.
Fields | |
---|---|
subscription |
Required. The subscription to detach. Format is |
DetachSubscriptionResponse
This type has no fields.
Response for the DetachSubscription method. Reserved for future use.
Encoding
Possible encoding types for messages.
Enums | |
---|---|
ENCODING_UNSPECIFIED |
Unspecified |
JSON |
JSON encoding |
BINARY |
Binary encoding, as defined by the schema type. For some schema types, binary encoding may not be available. |
ExpirationPolicy
A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).
Fields | |
---|---|
ttl |
Optional. Specifies the "time-to-live" duration for an associated resource. The resource expires if it is not active for a period of |
GetSchemaRequest
Request for the GetSchema method.
Fields | |
---|---|
name |
Required. The name of the schema to get. Format is |
view |
The set of fields to return in the response. If not set, returns a Schema with all fields filled out. Set to |
GetSnapshotRequest
Request for the GetSnapshot method.
Fields | |
---|---|
snapshot |
Required. The name of the snapshot to get. Format is |
GetSubscriptionRequest
Request for the GetSubscription method.
Fields | |
---|---|
subscription |
Required. The name of the subscription to get. Format is |
GetTopicRequest
Request for the GetTopic method.
Fields | |
---|---|
topic |
Required. The name of the topic to get. Format is |
IngestionDataSourceSettings
Settings for an ingestion data source on a topic.
Fields | |
---|---|
Union field source . Only one source type can have settings set. source can be only one of the following: |
|
aws_kinesis |
Optional. Amazon Kinesis Data Streams. |
AwsKinesis
Ingestion settings for Amazon Kinesis Data Streams.
Fields | |
---|---|
state |
Output only. An output-only field that indicates the state of the Kinesis ingestion source. |
stream_arn |
Required. The Kinesis stream ARN to ingest data from. |
consumer_arn |
Required. The Kinesis consumer ARN to used for ingestion in Enhanced Fan-Out mode. The consumer must be already created and ready to be used. |
aws_role_arn |
Required. AWS role ARN to be used for Federated Identity authentication with Kinesis. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it. |
gcp_service_account |
Required. The GCP service account to be used for Federated Identity authentication with Kinesis (via a |
State
Possible states for ingestion from Amazon Kinesis Data Streams.
Enums | |
---|---|
STATE_UNSPECIFIED |
Default value. This value is unused. |
ACTIVE |
Ingestion is active. |
KINESIS_PERMISSION_DENIED |
Permission denied encountered while consuming data from Kinesis. This can happen if: - The provided aws_role_arn does not exist or does not have the appropriate permissions attached. - The provided aws_role_arn is not set up properly for Identity Federation using gcp_service_account . - The Pub/Sub SA is not granted the iam.serviceAccounts.getOpenIdToken permission on gcp_service_account . |
PUBLISH_PERMISSION_DENIED |
Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the appropriate publish permissions |
STREAM_NOT_FOUND |
The Kinesis stream does not exist. |
CONSUMER_NOT_FOUND |
The Kinesis consumer does not exist. |
ListSchemaRevisionsRequest
Request for the ListSchemaRevisions
method.
Fields | |
---|---|
name |
Required. The name of the schema to list revisions for. |
view |
The set of Schema fields to return in the response. If not set, returns Schemas with |
page_size |
The maximum number of revisions to return per page. |
page_token |
The page token, received from a previous ListSchemaRevisions call. Provide this to retrieve the subsequent page. |
ListSchemaRevisionsResponse
Response for the ListSchemaRevisions
method.
Fields | |
---|---|
schemas[] |
The revisions of the schema. |
next_page_token |
A token that can be sent as |
ListSchemasRequest
Request for the ListSchemas
method.
Fields | |
---|---|
parent |
Required. The name of the project in which to list schemas. Format is |
view |
The set of Schema fields to return in the response. If not set, returns Schemas with |
page_size |
Maximum number of schemas to return. |
page_token |
The value returned by the last |
ListSchemasResponse
Response for the ListSchemas
method.
Fields | |
---|---|
schemas[] |
The resulting schemas. |
next_page_token |
If not empty, indicates that there may be more schemas that match the request; this value should be passed in a new |
ListSnapshotsRequest
Request for the ListSnapshots
method.
Fields | |
---|---|
project |
Required. The name of the project in which to list snapshots. Format is |
page_size |
Optional. Maximum number of snapshots to return. |
page_token |
Optional. The value returned by the last |
ListSnapshotsResponse
Response for the ListSnapshots
method.
Fields | |
---|---|
snapshots[] |
Optional. The resulting snapshots. |
next_page_token |
Optional. If not empty, indicates that there may be more snapshot that match the request; this value should be passed in a new |
ListSubscriptionsRequest
Request for the ListSubscriptions
method.
Fields | |
---|---|
project |
Required. The name of the project in which to list subscriptions. Format is |
page_size |
Optional. Maximum number of subscriptions to return. |
page_token |
Optional. The value returned by the last |
ListSubscriptionsResponse
Response for the ListSubscriptions
method.
Fields | |
---|---|
subscriptions[] |
Optional. The subscriptions that match the request. |
next_page_token |
Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new |
ListTopicSnapshotsRequest
Request for the ListTopicSnapshots
method.
Fields | |
---|---|
topic |
Required. The name of the topic that snapshots are attached to. Format is |
page_size |
Optional. Maximum number of snapshot names to return. |
page_token |
Optional. The value returned by the last |
ListTopicSnapshotsResponse
Response for the ListTopicSnapshots
method.
Fields | |
---|---|
snapshots[] |
Optional. The names of the snapshots that match the request. |
next_page_token |
Optional. If not empty, indicates that there may be more snapshots that match the request; this value should be passed in a new |
ListTopicSubscriptionsRequest
Request for the ListTopicSubscriptions
method.
Fields | |
---|---|
topic |
Required. The name of the topic that subscriptions are attached to. Format is |
page_size |
Optional. Maximum number of subscription names to return. |
page_token |
Optional. The value returned by the last |
ListTopicSubscriptionsResponse
Response for the ListTopicSubscriptions
method.
Fields | |
---|---|
subscriptions[] |
Optional. The names of subscriptions attached to the topic specified in the request. |
next_page_token |
Optional. If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new |
ListTopicsRequest
Request for the ListTopics
method.
Fields | |
---|---|
project |
Required. The name of the project in which to list topics. Format is |
page_size |
Optional. Maximum number of topics to return. |
page_token |
Optional. The value returned by the last |
ListTopicsResponse
Response for the ListTopics
method.
Fields | |
---|---|
topics[] |
Optional. The resulting topics. |
next_page_token |
Optional. If not empty, indicates that there may be more topics that match the request; this value should be passed in a new |
MessageStoragePolicy
A policy constraining the storage of messages published to the topic.
Fields | |
---|---|
allowed_persistence_regions[] |
Optional. A list of IDs of Google Cloud regions where messages that are published to the topic may be persisted in storage. Messages published by publishers running in non-allowed Google Cloud regions (or running outside of Google Cloud altogether) are routed for storage in one of the allowed regions. An empty list means that no regions are allowed, and is not a valid configuration. |
enforce_in_transit |
Optional. If true, |
ModifyAckDeadlineRequest
Request for the ModifyAckDeadline method.
Fields | |
---|---|
subscription |
Required. The name of the subscription. Format is |
ack_ids[] |
Required. List of acknowledgment IDs. |
ack_deadline_seconds |
Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the |
ModifyPushConfigRequest
Request for the ModifyPushConfig method.
Fields | |
---|---|
subscription |
Required. The name of the subscription. Format is |
push_config |
Required. The push configuration for future deliveries. An empty |
PublishRequest
Request for the Publish method.
Fields | |
---|---|
topic |
Required. The messages in the request will be published on this topic. Format is |
messages[] |
Required. The messages to publish. |
PublishResponse
Response for the Publish
method.
Fields | |
---|---|
message_ids[] |
Optional. The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic. |
PubsubMessage
A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding client library documentation for more information. See quotas and limits for more information about message limits.
Fields | |
---|---|
data |
Optional. The message data field. If this field is empty, the message must contain at least one attribute. |
attributes |
Optional. Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription. |
message_id |
ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a |
publish_time |
The time at which the message was published, populated by the server when it receives the |
ordering_key |
Optional. If non-empty, identifies related messages for which publish order should be respected. If a |
PullRequest
Request for the Pull
method.
Fields | |
---|---|
subscription |
Required. The subscription from which messages should be pulled. Format is |
return_immediately |
Optional. If this field set to true, the system will respond immediately even if it there are no messages available to return in the |
max_messages |
Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified. |
PullResponse
Response for the Pull
method.
Fields | |
---|---|
received_messages[] |
Optional. Received Pub/Sub messages. The list will be empty if there are no more messages available in the backlog, or if no messages could be returned before the request timeout. For JSON, the response can be entirely empty. The Pub/Sub system may return fewer than the |
PushConfig
Configuration for a push delivery endpoint.
Fields | |
---|---|
push_endpoint |
Optional. A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use |
attributes |
Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is If not present during the The only supported values for the
For example: |
Union field authentication_method . An authentication method used by push endpoints to verify the source of push requests. This can be used with push endpoints that are private by default to allow requests only from the Pub/Sub system, for example. This field is optional and should be set only by users interested in authenticated push. authentication_method can be only one of the following: |
|
oidc_token |
Optional. If specified, Pub/Sub will generate and attach an OIDC JWT token as an |
Union field wrapper . The format of the delivered message to the push endpoint is defined by the chosen wrapper. When unset, PubsubWrapper is used. wrapper can be only one of the following: |
|
pubsub_wrapper |
Optional. When set, the payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage). |
no_wrapper |
Optional. When set, the payload to the push endpoint is not wrapped. |
NoWrapper
Sets the data
field as the HTTP body for delivery.
Fields | |
---|---|
write_metadata |
Optional. When true, writes the Pub/Sub message metadata to |
OidcToken
Contains information needed for generating an OpenID Connect token.
Fields | |
---|---|
service_account_email |
Optional. Service account email used for generating the OIDC token. For more information on setting up authentication, see Push subscriptions. |
audience |
Optional. Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values (array) for the audience field is not supported. More info about the OIDC JWT token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push endpoint URL will be used. |
PubsubWrapper
This type has no fields.
The payload to the push endpoint is in the form of the JSON representation of a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).
ReceivedMessage
A message and its corresponding acknowledgment ID.
Fields | |
---|---|
ack_id |
Optional. This ID can be used to acknowledge the received message. |
message |
Optional. The message. |
delivery_attempt |
Optional. The approximate number of times that Pub/Sub has attempted to deliver the associated message to a subscriber. More precisely, this is 1 + (number of NACKs) + (number of ack_deadline exceeds) for this message. A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is whenever a message is not acknowledged within ack_deadline. Note that ack_deadline is initially Subscription.ackDeadlineSeconds, but may get extended automatically by the client library. Upon the first delivery of a given message, If a DeadLetterPolicy is not set on the subscription, this will be 0. |
RetryPolicy
A policy that specifies how Pub/Sub retries message delivery.
Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message.
Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.
Fields | |
---|---|
minimum_backoff |
Optional. The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds. |
maximum_backoff |
Optional. The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds. |
RollbackSchemaRequest
Request for the RollbackSchema
method.
Fields | |
---|---|
name |
Required. The schema being rolled back with revision id. |
revision_id |
Required. The revision ID to roll back to. It must be a revision of the same schema. Example: c7cfa2a8 |
Schema
A schema resource.
Fields | |
---|---|
name |
Required. Name of the schema. Format is |
type |
The type of the schema definition. |
definition |
The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in |
revision_id |
Output only. Immutable. The revision ID of the schema. |
revision_create_time |
Output only. The timestamp that the revision was created. |
Type
Possible schema definition types.
Enums | |
---|---|
TYPE_UNSPECIFIED |
Default value. This value is unused. |
PROTOCOL_BUFFER |
A Protocol Buffer schema definition. |
AVRO |
An Avro schema definition. |
SchemaSettings
Settings for validating messages published against a schema.
Fields | |
---|---|
schema |
Required. The name of the schema that messages published should be validated against. Format is |
encoding |
Optional. The encoding of messages validated against |
first_revision_id |
Optional. The minimum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against last_revision or any revision created before. |
last_revision_id |
Optional. The maximum (inclusive) revision allowed for validating messages. If empty or not present, allow any revision to be validated against first_revision or any revision created after. |
SchemaView
View of Schema object fields to be returned by GetSchema and ListSchemas.
Enums | |
---|---|
SCHEMA_VIEW_UNSPECIFIED |
The default / unset value. The API will default to the BASIC view. |
BASIC |
Include the name and type of the schema, but not the definition. |
FULL |
Include all Schema object fields. |
SeekRequest
Request for the Seek
method.
Fields | |
---|---|
subscription |
Required. The subscription to affect. |
Union field
|
|
time |
Optional. The time to seek to. Messages retained in the subscription that were published before this time are marked as acknowledged, and messages retained in the subscription that were published after this time are marked as unacknowledged. Note that this operation affects only those messages retained in the subscription (configured by the combination of |
snapshot |
Optional. The snapshot to seek to. The snapshot's topic must be the same as that of the provided subscription. Format is |
SeekResponse
This type has no fields.
Response for the Seek
method (this response is empty).
Snapshot
A snapshot resource. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.
Fields | |
---|---|
name |
Optional. The name of the snapshot. |
topic |
Optional. The name of the topic from which this snapshot is retaining messages. |
expire_time |
Optional. The snapshot is guaranteed to exist up until this time. A newly-created snapshot expires no later than 7 days from the time of its creation. Its exact lifetime is determined at creation by the existing backlog in the source subscription. Specifically, the lifetime of the snapshot is |
labels |
Optional. See Creating and managing labels. |
StreamingPullRequest
Request for the StreamingPull
streaming RPC method. This request is used to establish the initial stream as well as to stream acknowledgements and ack deadline modifications from the client to the server.
Fields | |
---|---|
subscription |
Required. The subscription for which to initialize the new stream. This must be provided in the first request on the stream, and must not be set in subsequent requests from client to server. Format is |
ack_ids[] |
Optional. List of acknowledgement IDs for acknowledging previously received messages (received on this stream or a different stream). If an ack ID has expired, the corresponding message may be redelivered later. Acknowledging a message more than once will not result in an error. If the acknowledgement ID is malformed, the stream will be aborted with status |
modify_deadline_seconds[] |
Optional. The list of new ack deadlines for the IDs listed in |
modify_deadline_ack_ids[] |
Optional. List of acknowledgement IDs whose deadline will be modified based on the corresponding element in |
stream_ack_deadline_seconds |
Required. The ack deadline to use for the stream. This must be provided in the first request on the stream, but it can also be updated on subsequent requests from client to server. The minimum deadline you can specify is 10 seconds. The maximum deadline you can specify is 600 seconds (10 minutes). |
client_id |
Optional. A unique identifier that is used to distinguish client instances from each other. Only needs to be provided on the initial request. When a stream disconnects and reconnects for the same stream, the client_id should be set to the same value so that state associated with the old stream can be transferred to the new stream. The same client_id should not be used for different client instances. |
max_outstanding_messages |
Optional. Flow control settings for the maximum number of outstanding messages. When there are |
max_outstanding_bytes |
Optional. Flow control settings for the maximum number of outstanding bytes. When there are |
StreamingPullResponse
Response for the StreamingPull
method. This response is used to stream messages from the server to the client.
Fields | |
---|---|
received_messages[] |
Optional. Received Pub/Sub messages. This will not be empty. |
acknowledge_confirmation |
Optional. This field will only be set if |
modify_ack_deadline_confirmation |
Optional. This field will only be set if |
subscription_properties |
Optional. Properties associated with this subscription. |
AcknowledgeConfirmation
Acknowledgement IDs sent in one or more previous requests to acknowledge a previously received message.
Fields | |
---|---|
ack_ids[] |
Optional. Successfully processed acknowledgement IDs. |
invalid_ack_ids[] |
Optional. List of acknowledgement IDs that were malformed or whose acknowledgement deadline has expired. |
unordered_ack_ids[] |
Optional. List of acknowledgement IDs that were out of order. |
temporary_failed_ack_ids[] |
Optional. List of acknowledgement IDs that failed processing with temporary issues. |
ModifyAckDeadlineConfirmation
Acknowledgement IDs sent in one or more previous requests to modify the deadline for a specific message.
Fields | |
---|---|
ack_ids[] |
Optional. Successfully processed acknowledgement IDs. |
invalid_ack_ids[] |
Optional. List of acknowledgement IDs that were malformed or whose acknowledgement deadline has expired. |
temporary_failed_ack_ids[] |
Optional. List of acknowledgement IDs that failed processing with temporary issues. |
SubscriptionProperties
Subscription properties sent as part of the response.
Fields | |
---|---|
exactly_once_delivery_enabled |
Optional. True iff exactly once delivery is enabled for this subscription. |
message_ordering_enabled |
Optional. True iff message ordering is enabled for this subscription. |
Subscription
A subscription resource. If none of push_config
, bigquery_config
, or cloud_storage_config
is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set.
Fields | |
---|---|
name |
Required. Name of the subscription. Format is |
topic |
Required. The name of the topic from which this subscription is receiving messages. Format is |
push_config |
Optional. If push delivery is used with this subscription, this field is used to configure it. |
bigquery_config |
Optional. If delivery to BigQuery is used with this subscription, this field is used to configure it. |
cloud_storage_config |
Optional. If delivery to Google Cloud Storage is used with this subscription, this field is used to configure it. |
ack_deadline_seconds |
Optional. The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be outstanding. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. |
retain_acked_messages |
Optional. Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the |
message_retention_duration |
Optional. How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If |
labels |
Optional. See Creating and managing labels. |
enable_message_ordering |
Optional. If true, messages published with the same |
expiration_policy |
Optional. A policy that specifies the conditions for this subscription's expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If |
filter |
Optional. An expression written in the Pub/Sub filter language. If non-empty, then only |
dead_letter_policy |
Optional. A policy that specifies the conditions for dead lettering messages in this subscription. If dead_letter_policy is not set, dead lettering is disabled. The Pub/Sub service account associated with this subscriptions's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Acknowledge() messages on this subscription. |
retry_policy |
Optional. A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message. |
detached |
Optional. Indicates whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their topic and don't retain any backlog. |
enable_exactly_once_delivery |
Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of
Note that subscribers may still receive multiple copies of a message when |
topic_message_retention_duration |
Output only. Indicates the minimum duration for which a message is retained after it is published to the subscription's topic. If this field is set, messages published to the subscription's topic in the last |
state |
Output only. An output-only field indicating whether or not the subscription can receive messages. |
analytics_hub_subscription_info |
Output only. Information about the associated Analytics Hub subscription. Only set if the subscritpion is created by Analytics Hub. |
AnalyticsHubSubscriptionInfo
Information about an associated Analytics Hub subscription (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).
Fields | |
---|---|
listing |
Optional. The name of the associated Analytics Hub listing resource. Pattern: "projects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}" |
subscription |
Optional. The name of the associated Analytics Hub subscription resource. Pattern: "projects/{project}/locations/{location}/subscriptions/{subscription}" |
State
Possible states for a subscription.
Enums | |
---|---|
STATE_UNSPECIFIED |
Default value. This value is unused. |
ACTIVE |
The subscription can actively receive messages |
RESOURCE_ERROR |
The subscription cannot receive messages because of an error with the resource to which it pushes messages. See the more detailed error state in the corresponding configuration. |
Topic
A topic resource.
Fields | |
---|---|
name |
Required. Name of the topic. Format is |
labels |
Optional. See Creating and managing labels. |
message_storage_policy |
Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect. |
kms_key_name |
Optional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is |
schema_settings |
Optional. Settings for validating messages published against a schema. |
satisfies_pzs |
Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. |
message_retention_duration |
Optional. Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last |
state |
Output only. An output-only field indicating the state of the topic. |
ingestion_data_source_settings |
Optional. Settings for ingestion from a data source into this topic. |
State
The state of the topic.
Enums | |
---|---|
STATE_UNSPECIFIED |
Default value. This value is unused. |
ACTIVE |
The topic does not have any persistent errors. |
INGESTION_RESOURCE_ERROR |
Ingestion from the data source has encountered a permanent error. See the more detailed error state in the corresponding ingestion source configuration. |
UpdateSnapshotRequest
Request for the UpdateSnapshot method.
Fields | |
---|---|
snapshot |
Required. The updated snapshot object. |
update_mask |
Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty. |
UpdateSubscriptionRequest
Request for the UpdateSubscription method.
Fields | |
---|---|
subscription |
Required. The updated subscription object. |
update_mask |
Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty. |
UpdateTopicRequest
Request for the UpdateTopic method.
Fields | |
---|---|
topic |
Required. The updated topic object. |
update_mask |
Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if |
ValidateMessageRequest
Request for the ValidateMessage
method.
Fields | |
---|---|
parent |
Required. The name of the project in which to validate schemas. Format is |
message |
Message to validate against the provided |
encoding |
The encoding expected for messages |
Union field
|
|
name |
Name of the schema against which to validate. Format is |
schema |
Ad-hoc schema against which to validate |
ValidateMessageResponse
This type has no fields.
Response for the ValidateMessage
method. Empty for now.
ValidateSchemaRequest
Request for the ValidateSchema
method.
Fields | |
---|---|
parent |
Required. The name of the project in which to validate schemas. Format is |
schema |
Required. The schema object to validate. |
ValidateSchemaResponse
This type has no fields.
Response for the ValidateSchema
method. Empty for now.