Get desktop application:
View/edit binary Protocol Buffers messages
The service that a client application uses to manage topics and subscriptions, such creating, listing, and deleting topics and subscriptions.
Creates a new topic.
Request for CreateTopic.
Required. The parent location in which to create the topic. Structured like `projects/{project_number}/locations/{location}`.
Required. Configuration of the topic to create. Its `name` field is ignored.
Required. The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
Returns the topic configuration.
Request for GetTopic.
Required. The name of the topic whose configuration to return.
Returns the partition information for the requested topic.
Request for GetTopicPartitions.
Required. The topic whose partition information to return.
Response for GetTopicPartitions.
The number of partitions in the topic.
Returns the list of topics for the given project.
Request for ListTopics.
Required. The parent whose topics are to be listed. Structured like `projects/{project_number}/locations/{location}`.
The maximum number of topics to return. The service may return fewer than this value. If unset or zero, all topics for the parent will be returned.
A page token, received from a previous `ListTopics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTopics` must match the call that provided the page token.
Response for ListTopics.
The list of topic in the requested parent. The order of the topics is unspecified.
A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.
Updates properties of the specified topic.
Request for UpdateTopic.
Required. The topic to update. Its `name` field must be populated.
Required. A mask specifying the topic fields to change.
Deletes the specified topic.
Request for DeleteTopic.
Required. The name of the topic to delete.
Lists the subscriptions attached to the specified topic.
Request for ListTopicSubscriptions.
Required. The name of the topic whose subscriptions to list.
The maximum number of subscriptions to return. The service may return fewer than this value. If unset or zero, all subscriptions for the given topic will be returned.
A page token, received from a previous `ListTopicSubscriptions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTopicSubscriptions` must match the call that provided the page token.
Response for ListTopicSubscriptions.
The names of subscriptions attached to the topic. The order of the subscriptions is unspecified.
A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.
Creates a new subscription.
Request for CreateSubscription.
Required. The parent location in which to create the subscription. Structured like `projects/{project_number}/locations/{location}`.
Required. Configuration of the subscription to create. Its `name` field is ignored.
Required. The ID to use for the subscription, which will become the final component of the subscription's name. This value is structured like: `my-sub-name`.
If true, the newly created subscription will only receive messages published after the subscription was created. Otherwise, the entire message backlog will be received on the subscription. Defaults to false.
Returns the subscription configuration.
Request for GetSubscription.
Required. The name of the subscription whose configuration to return.
Returns the list of subscriptions for the given project.
Request for ListSubscriptions.
Required. The parent whose subscriptions are to be listed. Structured like `projects/{project_number}/locations/{location}`.
The maximum number of subscriptions to return. The service may return fewer than this value. If unset or zero, all subscriptions for the parent will be returned.
A page token, received from a previous `ListSubscriptions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscriptions` must match the call that provided the page token.
Response for ListSubscriptions.
The list of subscriptions in the requested parent. The order of the subscriptions is unspecified.
A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.
Updates properties of the specified subscription.
Request for UpdateSubscription.
Required. The subscription to update. Its `name` field must be populated. Topic field must not be populated.
Required. A mask specifying the subscription fields to change.
Deletes the specified subscription.
Request for DeleteSubscription.
Required. The name of the subscription to delete.
Performs an out-of-band seek for a subscription to a specified target, which may be timestamps or named positions within the message backlog. Seek translates these targets to cursors for each partition and orchestrates subscribers to start consuming messages from these seek cursors. If an operation is returned, the seek has been registered and subscribers will eventually receive messages from the seek cursors (i.e. eventual consistency), as long as they are using a minimum supported client library version and not a system that tracks cursors independently of Pub/Sub Lite (e.g. Apache Beam, Dataflow, Spark). The seek operation will fail for unsupported clients. If clients would like to know when subscribers react to the seek (or not), they can poll the operation. The seek operation will succeed and complete once subscribers are ready to receive messages from the seek cursors for all partitions of the topic. This means that the seek operation will not complete until all subscribers come online. If the previous seek operation has not yet completed, it will be aborted and the new invocation of seek will supersede it.
Request for SeekSubscription.
Required. The name of the subscription to seek.
The target to seek to. Must be set.
Seek to a named position with respect to the message backlog.
Seek to the first message whose publish or event time is greater than or equal to the specified query time. If no such message can be located, will seek to the end of the message backlog.
Creates a new reservation.
Request for CreateReservation.
Required. The parent location in which to create the reservation. Structured like `projects/{project_number}/locations/{location}`.
Required. Configuration of the reservation to create. Its `name` field is ignored.
Required. The ID to use for the reservation, which will become the final component of the reservation's name. This value is structured like: `my-reservation-name`.
Returns the reservation configuration.
Request for GetReservation.
Required. The name of the reservation whose configuration to return. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
Returns the list of reservations for the given project.
Request for ListReservations.
Required. The parent whose reservations are to be listed. Structured like `projects/{project_number}/locations/{location}`.
The maximum number of reservations to return. The service may return fewer than this value. If unset or zero, all reservations for the parent will be returned.
A page token, received from a previous `ListReservations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReservations` must match the call that provided the page token.
Response for ListReservations.
The list of reservation in the requested parent. The order of the reservations is unspecified.
A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.
Updates properties of the specified reservation.
Request for UpdateReservation.
Required. The reservation to update. Its `name` field must be populated.
Required. A mask specifying the reservation fields to change.
Deletes the specified reservation.
Request for DeleteReservation.
Required. The name of the reservation to delete. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
Lists the topics attached to the specified reservation.
Request for ListReservationTopics.
Required. The name of the reservation whose topics to list. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
The maximum number of topics to return. The service may return fewer than this value. If unset or zero, all topics for the given reservation will be returned.
A page token, received from a previous `ListReservationTopics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReservationTopics` must match the call that provided the page token.
Response for ListReservationTopics.
The names of topics attached to the reservation. The order of the topics is unspecified.
A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.
The service that a subscriber client application uses to manage committed cursors while receiving messsages. A cursor represents a subscriber's progress within a topic partition for a given subscription.
Establishes a stream with the server for managing committed cursors.
A request sent from the client to the server on a stream.
The type of request this is.
Initial request on the stream.
Request to commit a new cursor value.
Response to a StreamingCommitCursorRequest.
The type of request this is.
Initial response on the stream.
Response to committing a new cursor value.
Updates the committed cursor.
Request for CommitCursor.
The subscription for which to update the cursor.
The partition for which to update the cursor. Partitions are zero indexed, so `partition` must be in the range [0, topic.num_partitions).
The new value for the committed cursor.
Response for CommitCursor.
(message has no fields)
Returns all committed cursor information for a subscription.
Request for ListPartitionCursors.
Required. The subscription for which to retrieve cursors. Structured like `projects/{project_number}/locations/{location}/subscriptions/{subscription_id}`.
The maximum number of cursors to return. The service may return fewer than this value. If unset or zero, all cursors for the parent will be returned.
A page token, received from a previous `ListPartitionCursors` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPartitionCursors` must match the call that provided the page token.
Response for ListPartitionCursors
The partition cursors from this request.
A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
The service that a subscriber client application uses to determine which partitions it should connect to.
Assign partitions for this client to handle for the specified subscription. The client must send an InitialPartitionAssignmentRequest first. The server will then send at most one unacknowledged PartitionAssignment outstanding on the stream at a time. The client should send a PartitionAssignmentAck after updating the partitions it is connected to to reflect the new assignment.
A request on the PartitionAssignment stream.
The type of request this is.
Initial request on the stream.
Acknowledgement of a partition assignment.
PartitionAssignments should not race with acknowledgements. There should be exactly one unacknowledged PartitionAssignment at a time. If not, the client must break the stream.
The list of partition numbers this subscriber is assigned to.
The service that a publisher client application uses to publish messages to topics. Published messages are retained by the service for the duration of the retention period configured for the respective topic, and are delivered to subscriber clients upon request (via the `SubscriberService`).
Establishes a stream with the server for publishing messages. Once the stream is initialized, the client publishes messages by sending publish requests on the stream. The server responds with a PublishResponse for each PublishRequest sent by the client, in the same order that the requests were sent. Note that multiple PublishRequests can be in flight simultaneously, but they will be processed by the server in the order that they are sent by the client on a given stream.
Request sent from the client to the server on a stream.
The type of request this is.
Initial request on the stream.
Request to publish messages.
Response to a PublishRequest.
The type of response this is.
Initial response on the stream.
Response to publishing messages.
The service that a subscriber client application uses to receive messages from subscriptions.
Establishes a stream with the server for receiving messages.
A request sent from the client to the server on a stream.
The type of request this is.
Initial request on the stream.
Request to update the stream's delivery cursor.
Request to grant tokens to the server,
Response to SubscribeRequest.
The type of response this is.
Initial response on the stream.
Response to a Seek operation.
Response containing messages from the topic partition.
This service allows users to get stats about messages in their topic.
Compute statistics about a range of messages in a given topic and partition.
Compute statistics about a range of messages in a given topic and partition.
Required. The topic for which we should compute message stats.
Required. The partition for which we should compute message stats.
The inclusive start of the range.
The exclusive end of the range. The range is empty if end_cursor <= start_cursor. Specifying a start_cursor before the first message and an end_cursor after the last message will retrieve all messages.
Response containing stats for messages in the requested topic and partition.
The count of messages.
The number of quota bytes accounted to these messages.
The minimum publish timestamp across these messages. Note that publish timestamps within a partition are not guaranteed to be non-decreasing. The timestamp will be unset if there are no messages.
The minimum event timestamp across these messages. For the purposes of this computation, if a message does not have an event time, we use the publish time. The timestamp will be unset if there are no messages.
Compute the head cursor for the partition. The head cursor's offset is guaranteed to be less than or equal to all messages which have not yet been acknowledged as published, and greater than the offset of any message whose publish has already been acknowledged. It is zero if there have never been messages in the partition.
Compute the current head cursor for a partition.
Required. The topic for which we should compute the head cursor.
Required. The partition for which we should compute the head cursor.
Response containing the head cursor for the requested topic and partition.
The head cursor.
Compute the corresponding cursor for a publish or event time in a topic partition.
Compute the corresponding cursor for a publish or event time in a topic partition.
Required. The topic for which we should compute the cursor.
Required. The partition for which we should compute the cursor.
Required. The target publish or event time. Specifying a future time will return an unset cursor.
Response containing the cursor corresponding to a publish or event time in a topic partition.
If present, the cursor references the first message with time greater than or equal to the specified target time. If such a message cannot be found, the cursor will be unset (i.e. `cursor` is not present).
The values associated with a key of an attribute.
Used in:
The list of values associated with a key.
A cursor that describes the position of a message within a topic partition.
Used in:
, , , , , , , , , , ,The offset of a message within a topic partition. Must be greater than or equal 0.
Configuration for a Pub/Sub Lite subscription that writes messages to a destination. User subscriber clients must not connect to this subscription.
Used in:
The desired state of this export. Setting this to values other than `ACTIVE` and `PAUSED` will result in an error.
Output only. The current state of the export, which may be different to the desired state due to errors. This field is output only.
Optional. The name of an optional Pub/Sub Lite topic to publish messages that can not be exported to the destination. For example, the message can not be published to the Pub/Sub service because it does not satisfy the constraints documented at https://cloud.google.com/pubsub/docs/publisher. Structured like: projects/{project_number}/locations/{location}/topics/{topic_id}. Must be within the same project and location as the subscription. The topic may be changed or removed.
The destination to export to. Required.
Messages are automatically written from the Pub/Sub Lite topic associated with this subscription to a Pub/Sub topic.
Configuration for exporting to a Pub/Sub topic.
Used in:
The name of the Pub/Sub topic. Structured like: projects/{project_number}/topics/{topic_id}. The topic may be changed.
The desired export state.
Used in:
Default value. This value is unused.
Messages are being exported.
Exporting messages is suspended.
Messages cannot be exported due to permission denied errors. Output only.
Messages cannot be exported due to missing resources. Output only.
Request to grant tokens to the server, requesting delivery of messages when they become available.
Used in:
The number of message tokens to grant. Must be greater than or equal to 0.
The number of byte tokens to grant. Must be greater than or equal to 0.
The first streaming request that must be sent on a newly-opened stream. The client must wait for the response before sending subsequent requests on the stream.
Used in:
The subscription for which to manage committed cursors.
The partition for which to manage committed cursors. Partitions are zero indexed, so `partition` must be in the range [0, topic.num_partitions).
Response to an InitialCommitCursorRequest.
Used in:
(message has no fields)
The first request that must be sent on a newly-opened stream. The client must wait for the response before sending subsequent requests on the stream.
Used in:
The subscription name. Structured like: projects/<project number>/locations/<zone name>/subscriptions/<subscription id>
An opaque, unique client identifier. This field must be exactly 16 bytes long and is interpreted as an unsigned 128 bit integer. Other size values will be rejected and the stream will be failed with a non-retryable error. This field is large enough to fit a uuid from standard uuid algorithms like uuid1 or uuid4, which should be used to generate this number. The same identifier should be reused following disconnections with retryable stream errors.
The first request that must be sent on a newly-opened stream.
Used in:
The topic to which messages will be written.
The partition within the topic to which messages will be written. Partitions are zero indexed, so `partition` must be in the range [0, topic.num_partitions).
Unique identifier for a publisher client. If set, enables publish idempotency within a publisher client session. The length of this field must be exactly 16 bytes long and should be populated with a 128 bit uuid, generated by standard uuid algorithms like uuid1 or uuid4. The same identifier should be reused following disconnections with retryable stream errors.
Response to an InitialPublishRequest.
Used in:
(message has no fields)
The first request that must be sent on a newly-opened stream. The client must wait for the response before sending subsequent requests on the stream.
Used in:
The subscription from which to receive messages.
The partition from which to receive messages. Partitions are zero indexed, so `partition` must be in the range [0, topic.num_partitions).
Optional. Initial target location within the message backlog. If not set, messages will be delivered from the commit cursor for the given subscription and partition.
Response to an InitialSubscribeRequest.
Used in:
The cursor from which the subscriber will start receiving messages once flow control tokens become available.
Request to publish messages to the topic.
Used in:
The messages to publish.
The sequence number corresponding to the first message in `messages`. Messages within a batch are ordered and the sequence numbers of all subsequent messages in the batch are assumed to be incremental. Sequence numbers are assigned at the message level and the first message published in a publisher client session must have a sequence number of 0. All messages must have contiguous sequence numbers, which uniquely identify the messages accepted by the publisher client. Since messages are ordered, the client only needs to specify the sequence number of the first message in a published batch. The server deduplicates messages with the same sequence number from the same publisher `client_id`.
Response to a MessagePublishRequest.
Used in:
The cursor of the first published message in the batch. The cursors for any remaining messages in the batch are guaranteed to be sequential.
Cursors for messages published in the batch. There will exist multiple ranges when cursors are not contiguous within the batch. The cursor ranges may not account for all messages in the batch when publish idempotency is enabled. A missing range indicates that cursors could not be determined for messages within the range, as they were deduplicated and the necessary data was not available at publish time. These messages will have offsets when received by a subscriber.
Cursors for a subrange of published messages.
Used in:
The cursor of the message at the start index. The cursors for remaining messages up to the end index (exclusive) are sequential.
Index of the message in the published batch that corresponds to the start cursor. Inclusive.
Index of the last message in this range. Exclusive.
Response containing a list of messages. Upon delivering a MessageResponse to the client, the server: * Updates the stream's delivery cursor to one greater than the cursor of the last message in the list. * Subtracts the total number of bytes and messages from the tokens available to the server.
Used in:
Messages from the topic partition.
Metadata for long running operations.
The time the operation was created.
The time the operation finished running. Not set if the operation has not completed.
Resource path for the target of the operation. For example, targets of seeks are subscription resources, structured like: projects/{project_number}/locations/{location}/subscriptions/{subscription_id}
Name of the verb executed by the operation.
Acknowledge receipt and handling of the previous assignment. If not sent within a short period after receiving the assignment, partitions may remain unassigned for a period of time until the client is known to be inactive, after which time the server will break the stream.
Used in:
(message has no fields)
A pair of a Cursor and the partition it is for.
Used in:
The partition this is for.
The value of the cursor.
A message that is published by publishers and delivered to subscribers.
Used in:
,The key used for routing messages to partitions or for compaction (e.g., keep the last N messages per key). If the key is empty, the message is routed to an arbitrary partition.
The payload of the message.
Optional attributes that can be used for message metadata/headers.
An optional, user-specified event time.
Metadata about a reservation resource.
Used as response type in: AdminService.CreateReservation, AdminService.GetReservation, AdminService.UpdateReservation
Used as field type in:
, ,The name of the reservation. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
The reserved throughput capacity. Every unit of throughput capacity is equivalent to 1 MiB/s of published messages or 2 MiB/s of subscribed messages. Any topics which are declared as using capacity from a Reservation will consume resources from this reservation instead of being charged individually.
Request to update the stream's delivery cursor based on the given target. Resets the server available tokens to 0. SeekRequests past head result in stream breakage. SeekRequests may not be sent while another SeekRequest is outstanding (i.e., has not received a SeekResponse) on the same stream.
Used in:
,The target to seek to. Must be set.
A named target.
A target corresponding to the cursor, pointing to anywhere in the topic partition.
A special target in the partition that takes no other parameters.
Used in:
Default value. This value is unused.
A target corresponding to the most recently published message in the partition.
A target corresponding to the committed cursor for the given subscription and topic partition.
Response to a SeekRequest.
Used in:
The new delivery cursor for the current stream.
A named position with respect to the message backlog.
Used in:
Unspecified named target. Do not use.
Seek to the oldest retained message.
Seek past all recently published messages, skipping the entire message backlog.
Response for SeekSubscription long running operation.
(message has no fields)
Streaming request to update the committed cursor. Subsequent SequencedCommitCursorRequests override outstanding ones.
Used in:
The new value for the committed cursor.
Response to a SequencedCommitCursorRequest.
Used in:
The number of outstanding SequencedCommitCursorRequests acknowledged by this response. Note that SequencedCommitCursorRequests are acknowledged in the order that they are received.
A message that has been stored and sequenced by the Pub/Sub Lite system.
Used in:
The position of a message within the partition where it is stored.
The time when the message was received by the server when it was first published.
The user message.
The size in bytes of this message for flow control and quota purposes.
Metadata about a subscription resource.
Used as response type in: AdminService.CreateSubscription, AdminService.GetSubscription, AdminService.UpdateSubscription
Used as field type in:
, ,The name of the subscription. Structured like: projects/{project_number}/locations/{location}/subscriptions/{subscription_id}
The name of the topic this subscription is attached to. Structured like: projects/{project_number}/locations/{location}/topics/{topic_id}
The settings for this subscription's message delivery.
If present, messages are automatically written from the Pub/Sub Lite topic associated with this subscription to a destination.
The settings for a subscription's message delivery.
Used in:
The DeliveryRequirement for this subscription.
When this subscription should send messages to subscribers relative to messages persistence in storage. For details, see [Creating Lite subscriptions](https://cloud.google.com/pubsub/lite/docs/subscriptions#creating_lite_subscriptions).
Used in:
Default value. This value is unused.
The server does not wait for a published message to be successfully written to storage before delivering it to subscribers.
The server will not deliver a published message to subscribers until the message has been successfully written to storage. This will result in higher end-to-end latency, but consistent delivery.
A target publish or event time. Can be used for seeking to or retrieving the corresponding cursor.
Used in:
,The type of message time to query.
Request the cursor of the first message with publish time greater than or equal to `publish_time`. All messages thereafter are guaranteed to have publish times >= `publish_time`.
Request the cursor of the first message with event time greater than or equal to `event_time`. If messages are missing an event time, the publish time is used as a fallback. As event times are user supplied, subsequent messages may have event times less than `event_time` and should be filtered by the client, if necessary.
Metadata about a topic resource.
Used as response type in: AdminService.CreateTopic, AdminService.GetTopic, AdminService.UpdateTopic
Used as field type in:
, ,The name of the topic. Structured like: projects/{project_number}/locations/{location}/topics/{topic_id}
The settings for this topic's partitions.
The settings for this topic's message retention.
The settings for this topic's Reservation usage.
The settings for a topic's partitions.
Used in:
The number of partitions in the topic. Must be at least 1. Once a topic has been created the number of partitions can be increased but not decreased. Message ordering is not guaranteed across a topic resize. For more information see https://cloud.google.com/pubsub/lite/docs/topics#scaling_capacity
The throughput dimension of this topic.
DEPRECATED: Use capacity instead which can express a superset of configurations. Every partition in the topic is allocated throughput equivalent to `scale` times the standard partition throughput (4 MiB/s). This is also reflected in the cost of this topic; a topic with `scale` of 2 and count of 10 is charged for 20 partitions. This value must be in the range [1,4].
The capacity configuration.
The throughput capacity configuration for each partition.
Used in:
Publish throughput capacity per partition in MiB/s. Must be >= 4 and <= 16.
Subscribe throughput capacity per partition in MiB/s. Must be >= 4 and <= 32.
The settings for this topic's Reservation usage.
Used in:
The Reservation to use for this topic's throughput capacity. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
The settings for a topic's message retention.
Used in:
The provisioned storage, in bytes, per partition. If the number of bytes stored in any of the topic's partitions grows beyond this value, older messages will be dropped to make room for newer ones, regardless of the value of `period`.
How long a published message is retained. If unset, messages will be retained as long as the bytes retained for each partition is below `per_partition_bytes`.