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) -
IngestionDataSourceSettings.AwsMsk
(message) -
IngestionDataSourceSettings.AwsMsk.State
(enum) -
IngestionDataSourceSettings.AzureEventHubs
(message) -
IngestionDataSourceSettings.AzureEventHubs.State
(enum) -
IngestionDataSourceSettings.CloudStorage
(message) -
IngestionDataSourceSettings.CloudStorage.AvroFormat
(message) -
IngestionDataSourceSettings.CloudStorage.PubSubAvroFormat
(message) -
IngestionDataSourceSettings.CloudStorage.State
(enum) -
IngestionDataSourceSettings.CloudStorage.TextFormat
(message) -
IngestionDataSourceSettings.ConfluentCloud
(message) -
IngestionDataSourceSettings.ConfluentCloud.State
(enum) -
JavaScriptUDF
(message) -
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) -
MessageTransform
(message) -
ModifyAckDeadlineRequest
(message) -
ModifyPushConfigRequest
(message) -
PlatformLogsSettings
(message) -
PlatformLogsSettings.Severity
(enum) -
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.
rpc CreateTopic(
Topic
) returns ( Topic
)
Creates the given topic with the given name. See the resource name rules .
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DeleteTopic(
DeleteTopicRequest
) returns ( Empty
)
Deletes the topic with the given name. Returns NOT_FOUND
if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their topic
field is set to _deleted-topic_
.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DetachSubscription(
DetachSubscriptionRequest
) returns ( DetachSubscriptionResponse
)
Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent Pull
and StreamingPull
requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetTopic(
GetTopicRequest
) returns ( Topic
)
Gets the configuration of a topic.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListTopicSnapshots(
ListTopicSnapshotsRequest
) returns ( ListTopicSnapshotsResponse
)
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListTopicSubscriptions(
ListTopicSubscriptionsRequest
) returns ( ListTopicSubscriptionsResponse
)
Lists the names of the attached subscriptions on this topic.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListTopics(
ListTopicsRequest
) returns ( ListTopicsResponse
)
Lists matching topics.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc Publish(
PublishRequest
) returns ( PublishResponse
)
Adds one or more messages to the topic. Returns NOT_FOUND
if the topic does not exist.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateTopic(
UpdateTopicRequest
) returns ( Topic
)
Updates an existing topic by updating the fields specified in the update mask. Note that certain properties of a topic are not modifiable.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
SchemaService
Service for doing schema-related operations.
rpc CommitSchema(
CommitSchemaRequest
) returns ( Schema
)
Commits a new schema revision to an existing schema.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc CreateSchema(
CreateSchemaRequest
) returns ( Schema
)
Creates a schema.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DeleteSchema(
DeleteSchemaRequest
) returns ( Empty
)
Deletes a schema.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DeleteSchemaRevision(
DeleteSchemaRevisionRequest
) returns ( Schema
)
Deletes a specific schema revision.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetSchema(
GetSchemaRequest
) returns ( Schema
)
Gets a schema.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListSchemaRevisions(
ListSchemaRevisionsRequest
) returns ( ListSchemaRevisionsResponse
)
Lists all schema revisions for the named schema.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListSchemas(
ListSchemasRequest
) returns ( ListSchemasResponse
)
Lists schemas in a project.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc RollbackSchema(
RollbackSchemaRequest
) returns ( Schema
)
Creates a new schema revision that is a copy of the provided revision_id.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ValidateMessage(
ValidateMessageRequest
) returns ( ValidateMessageResponse
)
Validates a message against a schema.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ValidateSchema(
ValidateSchemaRequest
) returns ( ValidateSchemaResponse
)
Validates a schema.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
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.
rpc Acknowledge(
AcknowledgeRequest
) returns ( Empty
)
Acknowledges the messages associated with the ack_ids
in the AcknowledgeRequest
. The Pub/Sub system can remove the relevant messages from the subscription.
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc CreateSnapshot(
CreateSnapshotRequest
) returns ( Snapshot
)
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 ALREADY_EXISTS
. If the requested subscription doesn't exist, returns NOT_FOUND
. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then FAILED_PRECONDITION
is returned. See also the Snapshot.expire_time
field. 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, conforming to the resource name format
. The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc CreateSubscription(
Subscription
) returns ( Subscription
)
Creates a subscription to a given topic. See the resource name rules
. If the subscription already exists, returns ALREADY_EXISTS
. If the corresponding topic doesn't exist, returns NOT_FOUND
.
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DeleteSnapshot(
DeleteSnapshotRequest
) returns ( Empty
)
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DeleteSubscription(
DeleteSubscriptionRequest
) returns ( Empty
)
Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to Pull
after deletion will return NOT_FOUND
. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetSnapshot(
GetSnapshotRequest
) returns ( Snapshot
)
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetSubscription(
GetSubscriptionRequest
) returns ( Subscription
)
Gets the configuration details of a subscription.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListSnapshots(
ListSnapshotsRequest
) returns ( ListSnapshotsResponse
)
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListSubscriptions(
ListSubscriptionsRequest
) returns ( ListSubscriptionsResponse
)
Lists matching subscriptions.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ModifyAckDeadline(
ModifyAckDeadlineRequest
) returns ( Empty
)
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 ackDeadlineSeconds
used for subsequent messages.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ModifyPushConfig(
ModifyPushConfigRequest
) returns ( Empty
)
Modifies the PushConfig
for a specified subscription.
This may be used to change a push subscription to a pull one (signified by an empty PushConfig
) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig
.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc Pull(
PullRequest
) returns ( PullResponse
)
Pulls messages from the server.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc Seek(
SeekRequest
) returns ( SeekResponse
)
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc StreamingPull(
StreamingPullRequest
) returns ( StreamingPullResponse
)
Establishes a stream with the server, which sends messages down to the client. The client streams acknowledgments 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 UNAVAILABLE
to reassign server-side resources, in which case, the client should re-establish the stream. Flow control can be achieved by configuring the underlying RPC channel.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateSnapshot(
UpdateSnapshotRequest
) returns ( Snapshot
)
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateSubscription(
UpdateSubscriptionRequest
) returns ( Subscription
)
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.
- Authorization scopes
-
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/pubsub
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
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.
bucket
string
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
string
Optional. User-provided prefix for Cloud Storage filename. See the object naming requirements .
filename_suffix
string
Optional. User-provided suffix for Cloud Storage filename. See the object naming requirements . Must not end in "/".
filename_datetime_format
string
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 acknowledgment deadline.
max_bytes
int64
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.
state
Output only. An output-only field that indicates whether or not the subscription can receive messages.
service_account_email
string
Optional. The service account to use to write to Cloud Storage. The subscription creator or updater that specifies this field must have iam.serviceAccounts.actAs
permission on the service account. If not specified, the Pub/Sub service agent
, service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
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 acknowledgment 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.
platform_logs_settings
Optional. Platform Logs settings. If unset, no Platform Logs will be generated.
source
. Only one source type can have settings set. source
can be only one of the following:aws_kinesis
Optional. Amazon Kinesis Data Streams.
cloud_storage
Optional. Cloud Storage.
azure_event_hubs
Optional. Azure Event Hubs.
aws_msk
Optional. Amazon MSK.
confluent_cloud
Optional. Confluent Cloud.
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. |
AwsMsk
Ingestion settings for Amazon MSK.
Fields | |
---|---|
state
|
Output only. An output-only field that indicates the state of the Amazon MSK ingestion source. |
cluster_arn
|
Required. The Amazon Resource Name (ARN) that uniquely identifies the cluster. |
topic
|
Required. The name of the topic in the Amazon MSK cluster that Pub/Sub will import from. |
aws_role_arn
|
Required. AWS role ARN to be used for Federated Identity authentication with Amazon MSK. 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 Amazon MSK (via a |
State
Possible states for managed ingestion from Amazon MSK.
Enums | |
---|---|
STATE_UNSPECIFIED
|
Default value. This value is unused. |
ACTIVE
|
Ingestion is active. |
MSK_PERMISSION_DENIED
|
Permission denied encountered while consuming data from Amazon MSK. |
PUBLISH_PERMISSION_DENIED
|
Permission denied encountered while publishing to the topic. |
CLUSTER_NOT_FOUND
|
The provided MSK cluster wasn't found. |
TOPIC_NOT_FOUND
|
The provided topic wasn't found. |
AzureEventHubs
Ingestion settings for Azure Event Hubs.
Fields | |
---|---|
state
|
Output only. An output-only field that indicates the state of the Event Hubs ingestion source. |
resource_group
|
Optional. Name of the resource group within the azure subscription. |
namespace
|
Optional. The name of the Event Hubs namespace. |
event_hub
|
Optional. The name of the Event Hub. |
client_id
|
Optional. The client id of the Azure application that is being used to authenticate Pub/Sub. |
tenant_id
|
Optional. The tenant id of the Azure application that is being used to authenticate Pub/Sub. |
subscription_id
|
Optional. The Azure subscription id. |
gcp_service_account
|
Optional. The GCP service account to be used for Federated Identity authentication. |
State
Possible states for managed ingestion from Event Hubs.
Enums | |
---|---|
STATE_UNSPECIFIED
|
Default value. This value is unused. |
ACTIVE
|
Ingestion is active. |
EVENT_HUBS_PERMISSION_DENIED
|
Permission denied encountered while consuming data from Event Hubs. This can happen when client_id
, or tenant_id
are invalid. Or the right permissions haven't been granted. |
PUBLISH_PERMISSION_DENIED
|
Permission denied encountered while publishing to the topic. |
NAMESPACE_NOT_FOUND
|
The provided Event Hubs namespace couldn't be found. |
EVENT_HUB_NOT_FOUND
|
The provided Event Hub couldn't be found. |
SUBSCRIPTION_NOT_FOUND
|
The provided Event Hubs subscription couldn't be found. |
RESOURCE_GROUP_NOT_FOUND
|
The provided Event Hubs resource group couldn't be found. |
CloudStorage
Ingestion settings for Cloud Storage.
state
Output only. An output-only field that indicates the state of the Cloud Storage ingestion source.
bucket
string
Optional. Cloud Storage bucket. The bucket name must be without any prefix like "gs://". See the bucket naming requirements .
minimum_object_create_time
Optional. Only objects with a larger or equal creation timestamp will be ingested.
match_glob
string
Optional. Glob pattern used to match objects that will be ingested. If unset, all objects will be ingested. See the supported patterns .
input_format
. Defaults to text format. input_format
can be only one of the following:text_format
Optional. Data from Cloud Storage will be interpreted as text.
avro_format
Optional. Data from Cloud Storage will be interpreted in Avro format.
pubsub_avro_format
Optional. It will be assumed data from Cloud Storage was written via Cloud Storage subscriptions .
AvroFormat
This type has no fields.
Configuration for reading Cloud Storage data in Avro binary format. The bytes of each object will be set to the data
field of a Pub/Sub message.
PubSubAvroFormat
This type has no fields.
Configuration for reading Cloud Storage data written via Cloud Storage subscriptions . The data and attributes fields of the originally exported Pub/Sub message will be restored when publishing.
State
Possible states for ingestion from Cloud Storage.
Enums | |
---|---|
STATE_UNSPECIFIED
|
Default value. This value is unused. |
ACTIVE
|
Ingestion is active. |
CLOUD_STORAGE_PERMISSION_DENIED
|
Permission denied encountered while calling the Cloud Storage API. This can happen if the Pub/Sub SA has not been granted the appropriate permissions : - storage.objects.list: to list the objects in a bucket. - storage.objects.get: to read the objects in a bucket. - storage.buckets.get: to verify the bucket exists. |
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 |
BUCKET_NOT_FOUND
|
The provided Cloud Storage bucket doesn't exist. |
TOO_MANY_OBJECTS
|
The Cloud Storage bucket has too many objects, ingestion will be paused. |
TextFormat
Configuration for reading Cloud Storage data in text format. Each line of text as specified by the delimiter will be set to the data
field of a Pub/Sub message.
Fields | |
---|---|
delimiter
|
Optional. When unset, '\n' is used. |
ConfluentCloud
Ingestion settings for Confluent Cloud.
Fields | |
---|---|
state
|
Output only. An output-only field that indicates the state of the Confluent Cloud ingestion source. |
bootstrap_server
|
Required. The address of the bootstrap server. The format is url:port. |
cluster_id
|
Required. The id of the cluster. |
topic
|
Required. The name of the topic in the Confluent Cloud cluster that Pub/Sub will import from. |
identity_pool_id
|
Required. The id of the identity pool to be used for Federated Identity authentication with Confluent Cloud. See https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools . |
gcp_service_account
|
Required. The GCP service account to be used for Federated Identity authentication with |
State
Possible states for managed ingestion from Confluent Cloud.
Enums | |
---|---|
STATE_UNSPECIFIED
|
Default value. This value is unused. |
ACTIVE
|
Ingestion is active. |
CONFLUENT_CLOUD_PERMISSION_DENIED
|
Permission denied encountered while consuming data from Confluent Cloud. |
PUBLISH_PERMISSION_DENIED
|
Permission denied encountered while publishing to the topic. |
UNREACHABLE_BOOTSTRAP_SERVER
|
The provided bootstrap server address is unreachable. |
CLUSTER_NOT_FOUND
|
The provided cluster wasn't found. |
TOPIC_NOT_FOUND
|
The provided topic wasn't found. |
JavaScriptUDF
User-defined JavaScript function that can transform or filter a Pub/Sub message.
Fields | |
---|---|
function_name
|
Required. Name of the JavasScript function that should applied to Pub/Sub messages. |
code
|
Required. JavaScript code that contains a function
|
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, |
MessageTransform
All supported message transforms types.
enabled
(deprecated)
bool
Optional. This field is deprecated, use the disabled
field to disable transforms.
disabled
bool
Optional. If true, the transform is disabled and will not be applied to messages. Defaults to false
.
transform
. The type of transform to apply to messages. transform
can be only one of the following:javascript_udf
Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's are specified on a resource, each must have a unique function_name
.
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 |
PlatformLogsSettings
Settings for Platform Logs produced by Pub/Sub.
Fields | |
---|---|
severity
|
Optional. The minimum severity level of Platform Logs that will be written. |
Severity
Severity levels of Platform Logs.
Enums | |
---|---|
SEVERITY_UNSPECIFIED
|
Default value. Logs level is unspecified. Logs will be disabled. |
DISABLED
|
Logs will be disabled. |
DEBUG
|
Debug logs and higher-severity logs will be written. |
INFO
|
Info logs and higher-severity logs will be written. |
WARNING
|
Warning logs and higher-severity logs will be written. |
ERROR
|
Only error logs will be written. |
PublishRequest
Request for the Publish method.
Fields | |
---|---|
topic
|
Required. The messages in the request will be published on this topic. Format is |
PublishResponse
Response for the Publish
method.
Fields |
---|
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. |
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 |
PullResponse
Response for the Pull
method.
Fields |
---|
PushConfig
Configuration for a push delivery endpoint.
push_endpoint
string
Optional. A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use https://example.com/push
.
attributes
map<string, string>
Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery.
The only currently supported attribute is x-goog-version
, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata).
If not present during the CreateSubscription
call, it will default to the version of the Pub/Sub API used to make such call. If not present in a ModifyPushConfig
call, its value will not be changed. GetSubscription
calls will always return a valid version, even if the subscription was created without this attribute.
The only supported values for the x-goog-version
attribute are:
-
v1beta1
: uses the push format defined in the v1beta1 Pub/Sub API. -
v1
orv1beta2
: uses the push format defined in the v1 Pub/Sub API.
For example: attributes { "x-goog-version": "v1" }
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 Authorization
header in the HTTP request for every pushed message.
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. |
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 acknowledgment 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.
subscription
string
Required. The subscription to affect.
Union field target
.
target
can be only one of the following:
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 message_retention_duration
and retain_acked_messages
). For example, if time
corresponds to a point before the message retention window (or to a point before the system's notion of the subscription creation time), only retained messages will be marked as unacknowledged, and already-expunged messages will not be restored.
snapshot
string
Optional. The snapshot to seek to. The snapshot's topic must be the same as that of the provided subscription. Format is projects/{project}/snapshots/{snap}
.
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 acknowledgments 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 acknowledgment 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 acknowledgment 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 acknowledgment 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_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 | |
---|---|
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
Acknowledgment IDs sent in one or more previous requests to acknowledge a previously received message.
Fields | |
---|---|
ack_ids[]
|
Optional. Successfully processed acknowledgment IDs. |
invalid_ack_ids[]
|
Optional. List of acknowledgment IDs that were malformed or whose acknowledgment deadline has expired. |
unordered_ack_ids[]
|
Optional. List of acknowledgment IDs that were out of order. |
temporary_failed_ack_ids[]
|
Optional. List of acknowledgment IDs that failed processing with temporary issues. |
ModifyAckDeadlineConfirmation
Acknowledgment IDs sent in one or more previous requests to modify the deadline for a specific message.
Fields | |
---|---|
ack_ids[]
|
Optional. Successfully processed acknowledgment IDs. |
invalid_ack_ids[]
|
Optional. List of acknowledgment IDs that were malformed or whose acknowledgment deadline has expired. |
temporary_failed_ack_ids[]
|
Optional. List of acknowledgment 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. |
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.
name
string
Required. Name of the subscription. Format is projects/{project}/subscriptions/{sub}
.
topic
string
Required. The name of the topic from which this subscription is receiving messages. Format is projects/{project}/topics/{topic}
. The value of this field will be _deleted-topic_
if the topic has been deleted.
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
int32
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 ModifyAckDeadline
with the corresponding ack_id
if using non-streaming pull or send the ack_id
in a StreamingModifyAckDeadlineRequest
if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used.
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.
labels
map<string, string>
Optional. See Creating and managing labels .
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 expiration_policy
is not set, a default policy
with ttl
of 31 days will be used. The minimum allowed value for expiration_policy.ttl
is 1 day. If expiration_policy
is set, but expiration_policy.ttl
is not set, the subscription never expires.
filter
string
Optional. An expression written in the Pub/Sub filter language
. If non-empty, then only PubsubMessage
s whose attributes
field matches the filter are delivered on this subscription. If empty, then no messages are filtered out.
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 acknowledgment deadline exceeded events for a given message.
detached
bool
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. Pull
and StreamingPull
requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made.
enable_exactly_once_delivery
bool
Optional. If true, Pub/Sub provides the following guarantees for the delivery of a message with a given value of message_id
on this subscription:
- The message sent to a subscriber is guaranteed not to be resent before the message's acknowledgment deadline expires.
- An acknowledged message will not be resent to a subscriber.
Note that subscribers may still receive multiple copies of a message when enable_exactly_once_delivery
is true if the message was published multiple times by a publisher client. These copies are considered distinct by Pub/Sub and have distinct message_id
values.
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 .
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 . |
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. |
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.
parent
string
Required. The name of the project in which to validate schemas. Format is projects/{project-id}
.
encoding
The encoding expected for messages
Union field schema_spec
.
schema_spec
can be only one of the following:
name
string
Name of the schema against which to validate.
Format is projects/{project}/schemas/{schema}
.
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.