Index
-
AdminService
(interface) -
CursorService
(interface) -
KafkaService
(interface) -
PartitionAssignmentService
(interface) -
PublisherService
(interface) -
SubscriberService
(interface) -
TopicStatsService
(interface) -
AttributeValues
(message) -
CommitCursorRequest
(message) -
CommitCursorResponse
(message) -
ComputeHeadCursorRequest
(message) -
ComputeHeadCursorResponse
(message) -
ComputeMessageStatsRequest
(message) -
ComputeMessageStatsResponse
(message) -
ComputeTimeCursorRequest
(message) -
ComputeTimeCursorResponse
(message) -
CreateReservationRequest
(message) -
CreateSubscriptionRequest
(message) -
CreateTopicRequest
(message) -
Cursor
(message) -
DeleteReservationRequest
(message) -
DeleteSubscriptionRequest
(message) -
DeleteTopicRequest
(message) -
ExportConfig
(message) -
ExportConfig.PubSubConfig
(message) -
ExportConfig.State
(enum) -
FlowControlRequest
(message) -
GetReservationRequest
(message) -
GetSubscriptionRequest
(message) -
GetTopicPartitionsRequest
(message) -
GetTopicRequest
(message) -
InitialCommitCursorRequest
(message) -
InitialCommitCursorResponse
(message) -
InitialPartitionAssignmentRequest
(message) -
InitialPublishRequest
(message) -
InitialPublishResponse
(message) -
InitialSubscribeRequest
(message) -
InitialSubscribeResponse
(message) -
ListPartitionCursorsRequest
(message) -
ListPartitionCursorsResponse
(message) -
ListReservationTopicsRequest
(message) -
ListReservationTopicsResponse
(message) -
ListReservationsRequest
(message) -
ListReservationsResponse
(message) -
ListSubscriptionsRequest
(message) -
ListSubscriptionsResponse
(message) -
ListTopicSubscriptionsRequest
(message) -
ListTopicSubscriptionsResponse
(message) -
ListTopicsRequest
(message) -
ListTopicsResponse
(message) -
MessagePublishRequest
(message) -
MessagePublishResponse
(message) -
MessagePublishResponse.CursorRange
(message) -
MessageResponse
(message) -
OpenKafkaStreamRequest
(message) -
OpenKafkaStreamResponse
(message) -
OperationMetadata
(message) -
PartitionAssignment
(message) -
PartitionAssignmentAck
(message) -
PartitionAssignmentRequest
(message) -
PartitionCursor
(message) -
PubSubMessage
(message) -
PublishRequest
(message) -
PublishResponse
(message) -
Reservation
(message) -
SeekRequest
(message) -
SeekRequest.NamedTarget
(enum) -
SeekResponse
(message) -
SeekSubscriptionRequest
(message) -
SeekSubscriptionRequest.NamedTarget
(enum) -
SeekSubscriptionResponse
(message) -
SequencedCommitCursorRequest
(message) -
SequencedCommitCursorResponse
(message) -
SequencedMessage
(message) -
StreamingCommitCursorRequest
(message) -
StreamingCommitCursorResponse
(message) -
SubscribeRequest
(message) -
SubscribeResponse
(message) -
Subscription
(message) -
Subscription.DeliveryConfig
(message) -
Subscription.DeliveryConfig.DeliveryRequirement
(enum) -
TimeTarget
(message) -
Topic
(message) -
Topic.PartitionConfig
(message) -
Topic.PartitionConfig.Capacity
(message) -
Topic.ReservationConfig
(message) -
Topic.RetentionConfig
(message) -
TopicPartitions
(message) -
UpdateReservationRequest
(message) -
UpdateSubscriptionRequest
(message) -
UpdateTopicRequest
(message)
AdminService
The service that a client application uses to manage topics and subscriptions, such creating, listing, and deleting topics and subscriptions.
rpc CreateReservation(
CreateReservationRequest
) returns ( Reservation
)
Creates a new reservation.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc CreateSubscription(
CreateSubscriptionRequest
) returns ( Subscription
)
Creates a new subscription.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc CreateTopic(
CreateTopicRequest
) returns ( Topic
)
Creates a new topic.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DeleteReservation(
DeleteReservationRequest
) returns ( Empty
)
Deletes the specified reservation.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DeleteSubscription(
DeleteSubscriptionRequest
) returns ( Empty
)
Deletes the specified subscription.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc DeleteTopic(
DeleteTopicRequest
) returns ( Empty
)
Deletes the specified topic.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetReservation(
GetReservationRequest
) returns ( Reservation
)
Returns the reservation configuration.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetSubscription(
GetSubscriptionRequest
) returns ( Subscription
)
Returns the subscription configuration.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetTopic(
GetTopicRequest
) returns ( Topic
)
Returns the topic configuration.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc GetTopicPartitions(
GetTopicPartitionsRequest
) returns ( TopicPartitions
)
Returns the partition information for the requested topic.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListReservationTopics(
ListReservationTopicsRequest
) returns ( ListReservationTopicsResponse
)
Lists the topics attached to the specified reservation.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListReservations(
ListReservationsRequest
) returns ( ListReservationsResponse
)
Returns the list of reservations for the given project.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListSubscriptions(
ListSubscriptionsRequest
) returns ( ListSubscriptionsResponse
)
Returns the list of subscriptions for the given project.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListTopicSubscriptions(
ListTopicSubscriptionsRequest
) returns ( ListTopicSubscriptionsResponse
)
Lists the subscriptions attached to the specified topic.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListTopics(
ListTopicsRequest
) returns ( ListTopicsResponse
)
Returns the list of topics for the given project.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc SeekSubscription(
SeekSubscriptionRequest
) returns ( Operation
)
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.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateReservation(
UpdateReservationRequest
) returns ( Reservation
)
Updates properties of the specified reservation.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateSubscription(
UpdateSubscriptionRequest
) returns ( Subscription
)
Updates properties of the specified subscription.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc UpdateTopic(
UpdateTopicRequest
) returns ( Topic
)
Updates properties of the specified topic.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
CursorService
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.
rpc CommitCursor(
CommitCursorRequest
) returns ( CommitCursorResponse
)
Updates the committed cursor.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ListPartitionCursors(
ListPartitionCursorsRequest
) returns ( ListPartitionCursorsResponse
)
Returns all committed cursor information for a subscription.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc StreamingCommitCursor(
StreamingCommitCursorRequest
) returns ( StreamingCommitCursorResponse
)
Establishes a stream with the server for managing committed cursors.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
KafkaService
A service for pseudo-requests made while using the kafka wire protocol TCP stream.
This service is exposition only: calling it directly will have no effect and will not succeed.
rpc OpenKafkaStream(
OpenKafkaStreamRequest
) returns ( OpenKafkaStreamResponse
)
Request made when opening a new kafka stream. Calling this method directly has no effect.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
PartitionAssignmentService
The service that a subscriber client application uses to determine which partitions it should connect to.
rpc AssignPartitions(
PartitionAssignmentRequest
) returns ( PartitionAssignment
)
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.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
PublisherService
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
).
rpc Publish(
PublishRequest
) returns ( PublishResponse
)
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.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
SubscriberService
The service that a subscriber client application uses to receive messages from subscriptions.
rpc Subscribe(
SubscribeRequest
) returns ( SubscribeResponse
)
Establishes a stream with the server for receiving messages.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
TopicStatsService
This service allows users to get stats about messages in their topic.
rpc ComputeHeadCursor(
ComputeHeadCursorRequest
) returns ( ComputeHeadCursorResponse
)
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.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ComputeMessageStats(
ComputeMessageStatsRequest
) returns ( ComputeMessageStatsResponse
)
Compute statistics about a range of messages in a given topic and partition.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
rpc ComputeTimeCursor(
ComputeTimeCursorRequest
) returns ( ComputeTimeCursorResponse
)
Compute the corresponding cursor for a publish or event time in a topic partition.
- Authorization scopes
-
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
-
AttributeValues
The values associated with a key of an attribute.
Fields | |
---|---|
values[]
|
The list of values associated with a key. |
CommitCursorRequest
Request for CommitCursor.
subscription
string
The subscription for which to update the cursor.
Authorization requires the following IAM
permission on the specified resource subscription
:
-
pubsublite.subscriptions.setCursor
partition
int64
The partition for which to update the cursor. Partitions are zero indexed, so partition
must be in the range [0, topic.num_partitions).
cursor
The new value for the committed cursor.
CommitCursorResponse
Response for CommitCursor.
ComputeHeadCursorRequest
Compute the current head cursor for a partition.
topic
string
Required. The topic for which we should compute the head cursor.
Authorization requires the following IAM
permission on the specified resource topic
:
-
pubsublite.topics.computeHeadCursor
partition
int64
Required. The partition for which we should compute the head cursor.
ComputeHeadCursorResponse
Response containing the head cursor for the requested topic and partition.
Fields | |
---|---|
head_cursor
|
The head cursor. |
ComputeMessageStatsRequest
Compute statistics about a range of messages in a given topic and partition.
topic
string
Required. The topic for which we should compute message stats.
Authorization requires the following IAM
permission on the specified resource topic
:
-
pubsublite.topics.computeMessageStats
partition
int64
Required. The partition for which we should compute message stats.
start_cursor
The inclusive start of the range.
end_cursor
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.
ComputeMessageStatsResponse
Response containing stats for messages in the requested topic and partition.
Fields | |
---|---|
minimum_publish_time
|
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. |
minimum_event_time
|
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. |
ComputeTimeCursorRequest
Compute the corresponding cursor for a publish or event time in a topic partition.
topic
string
Required. The topic for which we should compute the cursor.
Authorization requires the following IAM
permission on the specified resource topic
:
-
pubsublite.topics.computeTimeCursor
partition
int64
Required. The partition for which we should compute the cursor.
target
Required. The target publish or event time. Specifying a future time will return an unset cursor.
ComputeTimeCursorResponse
Response containing the cursor corresponding to a publish or event time in a topic partition.
Fields | |
---|---|
cursor
|
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. |
CreateReservationRequest
Request for CreateReservation.
parent
string
Required. The parent location in which to create the reservation. Structured like projects/{project_number}/locations/{location}
.
Authorization requires the following IAM
permission on the specified resource parent
:
-
pubsublite.reservations.create
reservation
Required. Configuration of the reservation to create. Its name
field is ignored.
reservation_id
string
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
.
CreateSubscriptionRequest
Request for CreateSubscription.
parent
string
Required. The parent location in which to create the subscription. Structured like projects/{project_number}/locations/{location}
.
Authorization requires the following IAM
permission on the specified resource parent
:
-
pubsublite.subscriptions.create
subscription
Required. Configuration of the subscription to create. Its name
field is ignored.
Authorization requires the following IAM
permission on the specified resource subscription
:
-
pubsublite.topics.subscribe
subscription_id
string
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
.
skip_backlog
bool
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.
CreateTopicRequest
Request for CreateTopic.
parent
string
Required. The parent location in which to create the topic. Structured like projects/{project_number}/locations/{location}
.
Authorization requires the following IAM
permission on the specified resource parent
:
-
pubsublite.topics.create
topic
Required. Configuration of the topic to create. Its name
field is ignored.
topic_id
string
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
.
Cursor
A cursor that describes the position of a message within a topic partition.
Fields | |
---|---|
offset
|
The offset of a message within a topic partition. Must be greater than or equal 0. |
DeleteReservationRequest
Request for DeleteReservation.
name
string
Required. The name of the reservation to delete. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.reservations.delete
DeleteSubscriptionRequest
Request for DeleteSubscription.
name
string
Required. The name of the subscription to delete.
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.subscriptions.delete
DeleteTopicRequest
Request for DeleteTopic.
name
string
Required. The name of the topic to delete.
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.topics.delete
ExportConfig
Configuration for a Pub/Sub Lite subscription that writes messages to a destination. User subscriber clients must not connect to this subscription.
desired_state
The desired state of this export. Setting this to values other than ACTIVE
and PAUSED
will result in an error.
current_state
Output only. The current state of the export, which may be different to the desired state due to errors. This field is output only.
dead_letter_topic
string
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.
destination
. The destination to export to. Required. destination
can be only one of the following:pubsub_config
Messages are automatically written from the Pub/Sub Lite topic associated with this subscription to a Pub/Sub topic.
PubSubConfig
Configuration for exporting to a Pub/Sub topic.
Fields | |
---|---|
topic
|
The name of the Pub/Sub topic. Structured like: projects/{project_number}/topics/{topic_id}. The topic may be changed. |
State
The desired export state.
Enums | |
---|---|
STATE_UNSPECIFIED
|
Default value. This value is unused. |
ACTIVE
|
Messages are being exported. |
PAUSED
|
Exporting messages is suspended. |
PERMISSION_DENIED
|
Messages cannot be exported due to permission denied errors. Output only. |
NOT_FOUND
|
Messages cannot be exported due to missing resources. Output only. |
FlowControlRequest
Request to grant tokens to the server, requesting delivery of messages when they become available.
Fields | |
---|---|
allowed_bytes
|
The number of byte tokens to grant. Must be greater than or equal to 0. |
GetReservationRequest
Request for GetReservation.
name
string
Required. The name of the reservation whose configuration to return. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.reservations.get
GetSubscriptionRequest
Request for GetSubscription.
name
string
Required. The name of the subscription whose configuration to return.
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.subscriptions.get
GetTopicPartitionsRequest
Request for GetTopicPartitions.
name
string
Required. The topic whose partition information to return.
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.topics.getPartitions
GetTopicRequest
Request for GetTopic.
name
string
Required. The name of the topic whose configuration to return.
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.topics.get
InitialCommitCursorRequest
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.
subscription
string
The subscription for which to manage committed cursors.
Authorization requires the following IAM
permission on the specified resource subscription
:
-
pubsublite.subscriptions.setCursor
partition
int64
The partition for which to manage committed cursors. Partitions are zero indexed, so partition
must be in the range [0, topic.num_partitions).
InitialCommitCursorResponse
Response to an InitialCommitCursorRequest.
InitialPartitionAssignmentRequest
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.
subscription
string
The subscription name. Structured like: projects/
Authorization requires the following IAM
permission on the specified resource subscription
:
-
pubsublite.subscriptions.subscribe
client_id
bytes
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.
InitialPublishRequest
The first request that must be sent on a newly-opened stream.
topic
string
The topic to which messages will be written.
Authorization requires the following IAM
permission on the specified resource topic
:
-
pubsublite.topics.publish
partition
int64
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).
client_id
bytes
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.
InitialPublishResponse
Response to an InitialPublishRequest.
InitialSubscribeRequest
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.
subscription
string
The subscription from which to receive messages.
Authorization requires the following IAM
permission on the specified resource subscription
:
-
pubsublite.subscriptions.subscribe
partition
int64
The partition from which to receive messages. Partitions are zero indexed, so partition
must be in the range [0, topic.num_partitions).
initial_location
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.
InitialSubscribeResponse
Response to an InitialSubscribeRequest.
Fields | |
---|---|
cursor
|
The cursor from which the subscriber will start receiving messages once flow control tokens become available. |
ListPartitionCursorsRequest
Request for ListPartitionCursors.
parent
string
Required. The subscription for which to retrieve cursors. Structured like projects/{project_number}/locations/{location}/subscriptions/{subscription_id}
.
Authorization requires the following IAM
permission on the specified resource parent
:
-
pubsublite.subscriptions.getCursor
page_size
int32
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.
page_token
string
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.
ListPartitionCursorsResponse
Response for ListPartitionCursors
Fields | |
---|---|
partition_cursors[]
|
The partition cursors from this request. |
next_page_token
|
A token, which can be sent as |
ListReservationTopicsRequest
Request for ListReservationTopics.
name
string
Required. The name of the reservation whose topics to list. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.reservations.listTopics
page_size
int32
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.
page_token
string
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.
ListReservationTopicsResponse
Response for ListReservationTopics.
Fields | |
---|---|
topics[]
|
The names of topics attached to the reservation. The order of the topics is unspecified. |
next_page_token
|
A token that can be sent as |
ListReservationsRequest
Request for ListReservations.
parent
string
Required. The parent whose reservations are to be listed. Structured like projects/{project_number}/locations/{location}
.
Authorization requires the following IAM
permission on the specified resource parent
:
-
pubsublite.reservations.list
page_size
int32
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.
page_token
string
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.
ListReservationsResponse
Response for ListReservations.
Fields | |
---|---|
reservations[]
|
The list of reservation in the requested parent. The order of the reservations is unspecified. |
next_page_token
|
A token that can be sent as |
ListSubscriptionsRequest
Request for ListSubscriptions.
parent
string
Required. The parent whose subscriptions are to be listed. Structured like projects/{project_number}/locations/{location}
.
Authorization requires the following IAM
permission on the specified resource parent
:
-
pubsublite.subscriptions.list
page_size
int32
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.
page_token
string
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.
ListSubscriptionsResponse
Response for ListSubscriptions.
Fields | |
---|---|
subscriptions[]
|
The list of subscriptions in the requested parent. The order of the subscriptions is unspecified. |
next_page_token
|
A token that can be sent as |
ListTopicSubscriptionsRequest
Request for ListTopicSubscriptions.
name
string
Required. The name of the topic whose subscriptions to list.
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.topics.listSubscriptions
page_size
int32
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.
page_token
string
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.
ListTopicSubscriptionsResponse
Response for ListTopicSubscriptions.
Fields | |
---|---|
subscriptions[]
|
The names of subscriptions attached to the topic. The order of the subscriptions is unspecified. |
next_page_token
|
A token that can be sent as |
ListTopicsRequest
Request for ListTopics.
parent
string
Required. The parent whose topics are to be listed. Structured like projects/{project_number}/locations/{location}
.
Authorization requires the following IAM
permission on the specified resource parent
:
-
pubsublite.topics.list
page_size
int32
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.
page_token
string
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.
ListTopicsResponse
Response for ListTopics.
Fields | |
---|---|
topics[]
|
The list of topic in the requested parent. The order of the topics is unspecified. |
next_page_token
|
A token that can be sent as |
MessagePublishRequest
Request to publish messages to the topic.
Fields | |
---|---|
first_sequence_number
|
The sequence number corresponding to the first message in 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 |
MessagePublishResponse
Response to a MessagePublishRequest.
Fields | |
---|---|
start_cursor
|
DEPRECATED: Superseded by cursor_ranges. The cursor of the first published message in the batch. The cursors for any remaining messages in the batch are guaranteed to be sequential. |
cursor_ranges[]
|
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. |
CursorRange
Cursors for a subrange of published messages.
Fields | |
---|---|
start_cursor
|
The cursor of the message at the start index. The cursors for remaining messages up to the end index (exclusive) are sequential. |
start_index
|
Index of the message in the published batch that corresponds to the start cursor. Inclusive. |
end_index
|
Index of the last message in this range. Exclusive. |
MessageResponse
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.
Fields |
---|
OpenKafkaStreamRequest
Request for OpenKafkaStream.
parent
string
Required. The parent path specified as projects/{project_id}/locations/{location_id}
Authorization requires the following IAM
permission on the specified resource parent
:
-
pubsublite.locations.openKafkaStream
OpenKafkaStreamResponse
Response for OpenKafkaStream.
OperationMetadata
Metadata for long running operations.
Fields | |
---|---|
create_time
|
The time the operation was created. |
end_time
|
The time the operation finished running. Not set if the operation has not completed. |
target
|
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} |
verb
|
Name of the verb executed by the operation. |
PartitionAssignment
PartitionAssignments should not race with acknowledgements. There should be exactly one unacknowledged PartitionAssignment at a time. If not, the client must break the stream.
Fields | |
---|---|
partitions[]
|
The list of partition numbers this subscriber is assigned to. |
PartitionAssignmentAck
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.
PartitionAssignmentRequest
A request on the PartitionAssignment stream.
request
. The type of request this is. request
can be only one of the following:initial
InitialPartitionAssignmentRequest
Initial request on the stream.
ack
Acknowledgement of a partition assignment.
PartitionCursor
A pair of a Cursor and the partition it is for.
Fields | |
---|---|
partition
|
The partition this is for. |
cursor
|
The value of the cursor. |
PubSubMessage
A message that is published by publishers and delivered to subscribers.
Fields | |
---|---|
key
|
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. |
data
|
The payload of the message. |
attributes
|
Optional attributes that can be used for message metadata/headers. |
event_time
|
An optional, user-specified event time. |
PublishRequest
Request sent from the client to the server on a stream.
request_type
. The type of request this is. request_type
can be only one of the following:initial_request
Initial request on the stream.
PublishResponse
Response to a PublishRequest.
response_type
. The type of response this is. response_type
can be only one of the following:initial_response
Initial response on the stream.
Reservation
Metadata about a reservation resource.
Fields | |
---|---|
name
|
The name of the reservation. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id} |
throughput_capacity
|
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. |
SeekRequest
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.
target
. The target to seek to. Must be set. target
can be only one of the following:named_target
A named target.
cursor
A target corresponding to the cursor, pointing to anywhere in the topic partition.
NamedTarget
A special target in the partition that takes no other parameters.
Enums | |
---|---|
NAMED_TARGET_UNSPECIFIED
|
Default value. This value is unused. |
HEAD
|
A target corresponding to the most recently published message in the partition. |
COMMITTED_CURSOR
|
A target corresponding to the committed cursor for the given subscription and topic partition. |
SeekResponse
Response to a SeekRequest.
Fields | |
---|---|
cursor
|
The new delivery cursor for the current stream. |
SeekSubscriptionRequest
Request for SeekSubscription.
name
string
Required. The name of the subscription to seek.
Authorization requires the following IAM
permission on the specified resource name
:
-
pubsublite.subscriptions.seek
target
. The target to seek to. Must be set. target
can be only one of the following:named_target
Seek to a named position with respect to the message backlog.
time_target
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.
NamedTarget
A named position with respect to the message backlog.
Enums | |
---|---|
NAMED_TARGET_UNSPECIFIED
|
Unspecified named target. Do not use. |
TAIL
|
Seek to the oldest retained message. |
HEAD
|
Seek past all recently published messages, skipping the entire message backlog. |
SeekSubscriptionResponse
Response for SeekSubscription long running operation.
SequencedCommitCursorRequest
Streaming request to update the committed cursor. Subsequent SequencedCommitCursorRequests override outstanding ones.
Fields | |
---|---|
cursor
|
The new value for the committed cursor. |
SequencedCommitCursorResponse
Response to a SequencedCommitCursorRequest.
Fields | |
---|---|
acknowledged_commits
|
The number of outstanding SequencedCommitCursorRequests acknowledged by this response. Note that SequencedCommitCursorRequests are acknowledged in the order that they are received. |
SequencedMessage
A message that has been stored and sequenced by the Pub/Sub Lite system.
Fields | |
---|---|
cursor
|
The position of a message within the partition where it is stored. |
publish_time
|
The time when the message was received by the server when it was first published. |
size_bytes
|
The size in bytes of this message for flow control and quota purposes. |
StreamingCommitCursorRequest
A request sent from the client to the server on a stream.
request
. The type of request this is. request
can be only one of the following:initial
Initial request on the stream.
commit
Request to commit a new cursor value.
StreamingCommitCursorResponse
Response to a StreamingCommitCursorRequest.
request
. The type of request this is. request
can be only one of the following:initial
Initial response on the stream.
commit
Response to committing a new cursor value.
SubscribeRequest
A request sent from the client to the server on a stream.
request
. The type of request this is. request
can be only one of the following:initial
Initial request on the stream.
seek
Request to update the stream's delivery cursor.
flow_control
Request to grant tokens to the server,
SubscribeResponse
Response to SubscribeRequest.
response
. The type of response this is. response
can be only one of the following:initial
Initial response on the stream.
seek
Response to a Seek operation.
Subscription
Metadata about a subscription resource.
Fields | |
---|---|
name
|
The name of the subscription. Structured like: projects/{project_number}/locations/{location}/subscriptions/{subscription_id} |
topic
|
The name of the topic this subscription is attached to. Structured like: projects/{project_number}/locations/{location}/topics/{topic_id} |
delivery_config
|
The settings for this subscription's message delivery. |
export_config
|
If present, messages are automatically written from the Pub/Sub Lite topic associated with this subscription to a destination. |
DeliveryConfig
The settings for a subscription's message delivery.
Fields | |
---|---|
delivery_requirement
|
The DeliveryRequirement for this subscription. |
DeliveryRequirement
When this subscription should send messages to subscribers relative to messages persistence in storage. For details, see Creating Lite subscriptions .
Enums | |
---|---|
DELIVERY_REQUIREMENT_UNSPECIFIED
|
Default value. This value is unused. |
DELIVER_IMMEDIATELY
|
The server does not wait for a published message to be successfully written to storage before delivering it to subscribers. |
DELIVER_AFTER_STORED
|
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. |
TimeTarget
A target publish or event time. Can be used for seeking to or retrieving the corresponding cursor.
time
. The type of message time to query. time
can be only one of the following:publish_time
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
.
event_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.
Topic
Metadata about a topic resource.
Fields | |
---|---|
name
|
The name of the topic. Structured like: projects/{project_number}/locations/{location}/topics/{topic_id} |
partition_config
|
The settings for this topic's partitions. |
retention_config
|
The settings for this topic's message retention. |
reservation_config
|
The settings for this topic's Reservation usage. |
PartitionConfig
The settings for a topic's partitions.
count
int64
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
dimension
. The throughput dimension of this topic. dimension
can be only one of the following:scale
(deprecated)
int32
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].
capacity
The capacity configuration.
Capacity
The throughput capacity configuration for each partition.
Fields | |
---|---|
publish_mib_per_sec
|
Publish throughput capacity per partition in MiB/s. Must be >= 4 and <= 16. |
subscribe_mib_per_sec
|
Subscribe throughput capacity per partition in MiB/s. Must be >= 4 and <= 32. |
ReservationConfig
The settings for this topic's Reservation usage.
throughput_reservation
string
The Reservation to use for this topic's throughput capacity. Structured like: projects/{project_number}/locations/{location}/reservations/{reservation_id}
Authorization requires the following IAM
permission on the specified resource throughputReservation
:
-
pubsublite.reservations.attachTopic
RetentionConfig
The settings for a topic's message retention.
Fields | |
---|---|
per_partition_bytes
|
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 |
TopicPartitions
Response for GetTopicPartitions.
Fields | |
---|---|
partition_count
|
The number of partitions in the topic. |
UpdateReservationRequest
Request for UpdateReservation.
reservation
Required. The reservation to update. Its name
field must be populated.
Authorization requires the following IAM
permission on the specified resource reservation
:
-
pubsublite.reservations.update
update_mask
Required. A mask specifying the reservation fields to change.
UpdateSubscriptionRequest
Request for UpdateSubscription.
subscription
Required. The subscription to update. Its name
field must be populated. Topic field must not be populated.
Authorization requires the following IAM
permission on the specified resource subscription
:
-
pubsublite.subscriptions.update
update_mask
Required. A mask specifying the subscription fields to change.
UpdateTopicRequest
Request for UpdateTopic.