@ydbjs/api
Version:
TypeScript gRPC service definitions and protobuf types for all YDB APIs. Enables strongly-typed client generation and low-level protocol access.
1,306 lines • 123 kB
TypeScript
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { Operation, OperationParams } from "./ydb_operation_pb.js";
import type { Entry } from "./ydb_scheme_pb.js";
import type { StatusIds_StatusCode } from "./ydb_status_codes_pb.js";
import type { IssueMessage } from "./ydb_issue_message_pb.js";
import type { Duration } from "../google/protobuf/duration_pb.js";
import type { Timestamp } from "../google/protobuf/timestamp_pb.js";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file protos/ydb_topic.proto.
*/
export declare const file_protos_ydb_topic: GenFile;
/**
* Description of supported codecs.
*
* @generated from message Ydb.Topic.SupportedCodecs
*/
export type SupportedCodecs = Message<"Ydb.Topic.SupportedCodecs"> & {
/**
* List of supported codecs.
* See enum Codec above for values.
*
* @generated from field: repeated int32 codecs = 1;
*/
codecs: number[];
};
/**
* Describes the message Ydb.Topic.SupportedCodecs.
* Use `create(SupportedCodecsSchema)` to create a new message.
*/
export declare const SupportedCodecsSchema: GenMessage<SupportedCodecs>;
/**
* Represents range [start, end).
* I.e. (end - 1) is the greatest of offsets, included in non-empty range.
*
* @generated from message Ydb.Topic.OffsetsRange
*/
export type OffsetsRange = Message<"Ydb.Topic.OffsetsRange"> & {
/**
* @generated from field: int64 start = 1;
*/
start: bigint;
/**
* @generated from field: int64 end = 2;
*/
end: bigint;
};
/**
* Describes the message Ydb.Topic.OffsetsRange.
* Use `create(OffsetsRangeSchema)` to create a new message.
*/
export declare const OffsetsRangeSchema: GenMessage<OffsetsRange>;
/**
* In-session reauthentication and reauthorization, lets user increase session lifetime.
* Client should wait for UpdateTokenResponse before sending next UpdateTokenRequest.
*
* @generated from message Ydb.Topic.UpdateTokenRequest
*/
export type UpdateTokenRequest = Message<"Ydb.Topic.UpdateTokenRequest"> & {
/**
* @generated from field: string token = 1;
*/
token: string;
};
/**
* Describes the message Ydb.Topic.UpdateTokenRequest.
* Use `create(UpdateTokenRequestSchema)` to create a new message.
*/
export declare const UpdateTokenRequestSchema: GenMessage<UpdateTokenRequest>;
/**
* @generated from message Ydb.Topic.UpdateTokenResponse
*/
export type UpdateTokenResponse = Message<"Ydb.Topic.UpdateTokenResponse"> & {};
/**
* Describes the message Ydb.Topic.UpdateTokenResponse.
* Use `create(UpdateTokenResponseSchema)` to create a new message.
*/
export declare const UpdateTokenResponseSchema: GenMessage<UpdateTokenResponse>;
/**
* @generated from message Ydb.Topic.PartitionWithGeneration
*/
export type PartitionWithGeneration = Message<"Ydb.Topic.PartitionWithGeneration"> & {
/**
* Partition identifier.
*
* @generated from field: int64 partition_id = 1;
*/
partitionId: bigint;
/**
* Partition generation.
*
* @generated from field: int64 generation = 2;
*/
generation: bigint;
};
/**
* Describes the message Ydb.Topic.PartitionWithGeneration.
* Use `create(PartitionWithGenerationSchema)` to create a new message.
*/
export declare const PartitionWithGenerationSchema: GenMessage<PartitionWithGeneration>;
/**
* @generated from message Ydb.Topic.MetadataItem
*/
export type MetadataItem = Message<"Ydb.Topic.MetadataItem"> & {
/**
* @generated from field: string key = 1;
*/
key: string;
/**
* @generated from field: bytes value = 2;
*/
value: Uint8Array;
};
/**
* Describes the message Ydb.Topic.MetadataItem.
* Use `create(MetadataItemSchema)` to create a new message.
*/
export declare const MetadataItemSchema: GenMessage<MetadataItem>;
/**
* Messages for bidirectional streaming rpc StreamWrite
*
* @generated from message Ydb.Topic.StreamWriteMessage
*/
export type StreamWriteMessage = Message<"Ydb.Topic.StreamWriteMessage"> & {};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.
* Use `create(StreamWriteMessageSchema)` to create a new message.
*/
export declare const StreamWriteMessageSchema: GenMessage<StreamWriteMessage>;
/**
* Client-server message for write session. Contains one of:
* InitRequest - handshake request.
* WriteRequest - portion of data to be written.
* UpdateTokenRequest - user credentials if update is needed.
*
* @generated from message Ydb.Topic.StreamWriteMessage.FromClient
*/
export type StreamWriteMessage_FromClient = Message<"Ydb.Topic.StreamWriteMessage.FromClient"> & {
/**
* @generated from oneof Ydb.Topic.StreamWriteMessage.FromClient.client_message
*/
clientMessage: {
/**
* @generated from field: Ydb.Topic.StreamWriteMessage.InitRequest init_request = 1;
*/
value: StreamWriteMessage_InitRequest;
case: "initRequest";
} | {
/**
* @generated from field: Ydb.Topic.StreamWriteMessage.WriteRequest write_request = 2;
*/
value: StreamWriteMessage_WriteRequest;
case: "writeRequest";
} | {
/**
* @generated from field: Ydb.Topic.UpdateTokenRequest update_token_request = 3;
*/
value: UpdateTokenRequest;
case: "updateTokenRequest";
} | {
case: undefined;
value?: undefined;
};
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.FromClient.
* Use `create(StreamWriteMessage_FromClientSchema)` to create a new message.
*/
export declare const StreamWriteMessage_FromClientSchema: GenMessage<StreamWriteMessage_FromClient>;
/**
* Server-client message for write session. Contains either non-success status, or one of:
* InitResponse - correct handshake response.
* WriteResponse - acknowledgment of storing client messages.
* UpdateTokenResponse - acknowledgment of reauthentication and reauthorization.
*
* @generated from message Ydb.Topic.StreamWriteMessage.FromServer
*/
export type StreamWriteMessage_FromServer = Message<"Ydb.Topic.StreamWriteMessage.FromServer"> & {
/**
* Server status of response.
*
* @generated from field: Ydb.StatusIds.StatusCode status = 1;
*/
status: StatusIds_StatusCode;
/**
* Issues if any.
*
* @generated from field: repeated Ydb.Issue.IssueMessage issues = 2;
*/
issues: IssueMessage[];
/**
* @generated from oneof Ydb.Topic.StreamWriteMessage.FromServer.server_message
*/
serverMessage: {
/**
* @generated from field: Ydb.Topic.StreamWriteMessage.InitResponse init_response = 3;
*/
value: StreamWriteMessage_InitResponse;
case: "initResponse";
} | {
/**
* @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse write_response = 4;
*/
value: StreamWriteMessage_WriteResponse;
case: "writeResponse";
} | {
/**
* @generated from field: Ydb.Topic.UpdateTokenResponse update_token_response = 5;
*/
value: UpdateTokenResponse;
case: "updateTokenResponse";
} | {
case: undefined;
value?: undefined;
};
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.FromServer.
* Use `create(StreamWriteMessage_FromServerSchema)` to create a new message.
*/
export declare const StreamWriteMessage_FromServerSchema: GenMessage<StreamWriteMessage_FromServer>;
/**
* Handshake request that must be sent to server first.
*
* @generated from message Ydb.Topic.StreamWriteMessage.InitRequest
*/
export type StreamWriteMessage_InitRequest = Message<"Ydb.Topic.StreamWriteMessage.InitRequest"> & {
/**
* Full path of topic to write to.
*
* @generated from field: string path = 1;
*/
path: string;
/**
* Producer identifier of client data stream.
* Used for message deduplication by sequence numbers.
*
* @generated from field: string producer_id = 2;
*/
producerId: string;
/**
* User metadata attached to this write session.
* Reader will get this session meta data with each message read.
*
* @generated from field: map<string, string> write_session_meta = 3;
*/
writeSessionMeta: {
[key: string]: string;
};
/**
* Option for setting order on messages.
* If neither is set, no guarantees on ordering or partitions to write to.
*
* @generated from oneof Ydb.Topic.StreamWriteMessage.InitRequest.partitioning
*/
partitioning: {
/**
* All messages with given pair (producer_id, message_group_id) go to single partition in order of writes.
*
* @generated from field: string message_group_id = 4;
*/
value: string;
case: "messageGroupId";
} | {
/**
* Explicit partition id to write to.
*
* @generated from field: int64 partition_id = 5;
*/
value: bigint;
case: "partitionId";
} | {
/**
* Explicit partition location to write to.
*
* @generated from field: Ydb.Topic.PartitionWithGeneration partition_with_generation = 7;
*/
value: PartitionWithGeneration;
case: "partitionWithGeneration";
} | {
case: undefined;
value?: undefined;
};
/**
* Explicitly request for last sequential number
* It may be expensive, if producer wrote to many partitions before.
*
* @generated from field: bool get_last_seq_no = 6;
*/
getLastSeqNo: boolean;
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.InitRequest.
* Use `create(StreamWriteMessage_InitRequestSchema)` to create a new message.
*/
export declare const StreamWriteMessage_InitRequestSchema: GenMessage<StreamWriteMessage_InitRequest>;
/**
* Response to the handshake.
*
* @generated from message Ydb.Topic.StreamWriteMessage.InitResponse
*/
export type StreamWriteMessage_InitResponse = Message<"Ydb.Topic.StreamWriteMessage.InitResponse"> & {
/**
* Last persisted message's sequence number for this producer.
* Zero for new producer.
*
* @generated from field: int64 last_seq_no = 1;
*/
lastSeqNo: bigint;
/**
* Unique identifier of write session. Used for debug purposes.
*
* @generated from field: string session_id = 2;
*/
sessionId: string;
/**
* Identifier of partition that is matched for this write session.
*
* @generated from field: int64 partition_id = 3;
*/
partitionId: bigint;
/**
* Client can only use compression codecs from this set to write messages to topic.
* Otherwise session will be closed with BAD_REQUEST.
*
* @generated from field: Ydb.Topic.SupportedCodecs supported_codecs = 4;
*/
supportedCodecs?: SupportedCodecs;
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.InitResponse.
* Use `create(StreamWriteMessage_InitResponseSchema)` to create a new message.
*/
export declare const StreamWriteMessage_InitResponseSchema: GenMessage<StreamWriteMessage_InitResponse>;
/**
* Represents portion of client messages.
*
* @generated from message Ydb.Topic.StreamWriteMessage.WriteRequest
*/
export type StreamWriteMessage_WriteRequest = Message<"Ydb.Topic.StreamWriteMessage.WriteRequest"> & {
/**
* @generated from field: repeated Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData messages = 1;
*/
messages: StreamWriteMessage_WriteRequest_MessageData[];
/**
* Codec that is used for data compression.
* See enum Codec above for values.
*
* @generated from field: int32 codec = 2;
*/
codec: number;
/**
* @generated from field: optional Ydb.Topic.TransactionIdentity tx = 3;
*/
tx?: TransactionIdentity;
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.WriteRequest.
* Use `create(StreamWriteMessage_WriteRequestSchema)` to create a new message.
*/
export declare const StreamWriteMessage_WriteRequestSchema: GenMessage<StreamWriteMessage_WriteRequest>;
/**
* @generated from message Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData
*/
export type StreamWriteMessage_WriteRequest_MessageData = Message<"Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData"> & {
/**
* Message sequence number, provided by client for deduplication.
* Starts at 1
*
* @generated from field: int64 seq_no = 1;
*/
seqNo: bigint;
/**
* Creation timestamp
*
* @generated from field: google.protobuf.Timestamp created_at = 2;
*/
createdAt?: Timestamp;
/**
* Compressed client message body.
*
* @generated from field: bytes data = 3;
*/
data: Uint8Array;
/**
* Uncompressed size of client message body.
*
* @generated from field: int64 uncompressed_size = 4;
*/
uncompressedSize: bigint;
/**
* Per-message override for respective write session settings.
*
* @generated from oneof Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData.partitioning
*/
partitioning: {
/**
* All messages with given pair (producer_id, message_group_id) go to single partition in order of writes.
*
* @generated from field: string message_group_id = 5;
*/
value: string;
case: "messageGroupId";
} | {
/**
* Explicit partition id to write to.
*
* @generated from field: int64 partition_id = 6;
*/
value: bigint;
case: "partitionId";
} | {
/**
* Explicit partition location to write to.
*
* @generated from field: Ydb.Topic.PartitionWithGeneration partition_with_generation = 8;
*/
value: PartitionWithGeneration;
case: "partitionWithGeneration";
} | {
case: undefined;
value?: undefined;
};
/**
* Message metadata. Overall size is limited to 4096 symbols (all keys and values combined).
*
* @generated from field: repeated Ydb.Topic.MetadataItem metadata_items = 7;
*/
metadataItems: MetadataItem[];
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.WriteRequest.MessageData.
* Use `create(StreamWriteMessage_WriteRequest_MessageDataSchema)` to create a new message.
*/
export declare const StreamWriteMessage_WriteRequest_MessageDataSchema: GenMessage<StreamWriteMessage_WriteRequest_MessageData>;
/**
* Message that represents acknowledgment for sequence of client messages.
* This sequence is persisted together so write statistics is for messages batch.
*
* @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse
*/
export type StreamWriteMessage_WriteResponse = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse"> & {
/**
* Number of acks is equal to number of messages in the corresponding WriteRequests.
*
* @generated from field: repeated Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck acks = 1;
*/
acks: StreamWriteMessage_WriteResponse_WriteAck[];
/**
* Assigned partition for all client messages inside this batch.
* This actual partition may differ from that returned in InitResponse
* or other WriteResponses in this write session.
*
* @generated from field: int64 partition_id = 2;
*/
partitionId: bigint;
/**
* Write statistics for this sequence of client messages.
*
* @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics write_statistics = 3;
*/
writeStatistics?: StreamWriteMessage_WriteResponse_WriteStatistics;
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.
* Use `create(StreamWriteMessage_WriteResponseSchema)` to create a new message.
*/
export declare const StreamWriteMessage_WriteResponseSchema: GenMessage<StreamWriteMessage_WriteResponse>;
/**
* Acknowledgment for one persistently written message.
*
* @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck
*/
export type StreamWriteMessage_WriteResponse_WriteAck = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck"> & {
/**
* Sequence number as in WriteRequest.
*
* @generated from field: int64 seq_no = 1;
*/
seqNo: bigint;
/**
* Either message is written for the first time or duplicate.
*
* @generated from oneof Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.message_write_status
*/
messageWriteStatus: {
/**
* @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Written written = 2;
*/
value: StreamWriteMessage_WriteResponse_WriteAck_Written;
case: "written";
} | {
/**
* @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped skipped = 3;
*/
value: StreamWriteMessage_WriteResponse_WriteAck_Skipped;
case: "skipped";
} | {
/**
* @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTx written_in_tx = 4;
*/
value: StreamWriteMessage_WriteResponse_WriteAck_WrittenInTx;
case: "writtenInTx";
} | {
case: undefined;
value?: undefined;
};
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.
* Use `create(StreamWriteMessage_WriteResponse_WriteAckSchema)` to create a new message.
*/
export declare const StreamWriteMessage_WriteResponse_WriteAckSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteAck>;
/**
* @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Written
*/
export type StreamWriteMessage_WriteResponse_WriteAck_Written = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Written"> & {
/**
* Assigned partition offset.
*
* @generated from field: int64 offset = 1;
*/
offset: bigint;
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Written.
* Use `create(StreamWriteMessage_WriteResponse_WriteAck_WrittenSchema)` to create a new message.
*/
export declare const StreamWriteMessage_WriteResponse_WriteAck_WrittenSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteAck_Written>;
/**
* @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped
*/
export type StreamWriteMessage_WriteResponse_WriteAck_Skipped = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped"> & {
/**
* @generated from field: Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason reason = 1;
*/
reason: StreamWriteMessage_WriteResponse_WriteAck_Skipped_Reason;
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.
* Use `create(StreamWriteMessage_WriteResponse_WriteAck_SkippedSchema)` to create a new message.
*/
export declare const StreamWriteMessage_WriteResponse_WriteAck_SkippedSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteAck_Skipped>;
/**
* @generated from enum Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason
*/
export declare enum StreamWriteMessage_WriteResponse_WriteAck_Skipped_Reason {
/**
* @generated from enum value: REASON_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* @generated from enum value: REASON_ALREADY_WRITTEN = 1;
*/
ALREADY_WRITTEN = 1
}
/**
* Describes the enum Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.Skipped.Reason.
*/
export declare const StreamWriteMessage_WriteResponse_WriteAck_Skipped_ReasonSchema: GenEnum<StreamWriteMessage_WriteResponse_WriteAck_Skipped_Reason>;
/**
* @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTx
*/
export type StreamWriteMessage_WriteResponse_WriteAck_WrittenInTx = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTx"> & {};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteAck.WrittenInTx.
* Use `create(StreamWriteMessage_WriteResponse_WriteAck_WrittenInTxSchema)` to create a new message.
*/
export declare const StreamWriteMessage_WriteResponse_WriteAck_WrittenInTxSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteAck_WrittenInTx>;
/**
* Message with write statistics.
*
* @generated from message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics
*/
export type StreamWriteMessage_WriteResponse_WriteStatistics = Message<"Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics"> & {
/**
* Time spent in persisting of data. Same for each message in response.
*
* @generated from field: google.protobuf.Duration persisting_time = 1;
*/
persistingTime?: Duration;
/**
* Time spent in queue before persisting, minimal of all messages in response.
*
* @generated from field: google.protobuf.Duration min_queue_wait_time = 2;
*/
minQueueWaitTime?: Duration;
/**
* Time spent in queue before persisting, maximal of all messages in response.
*
* @generated from field: google.protobuf.Duration max_queue_wait_time = 3;
*/
maxQueueWaitTime?: Duration;
/**
* Time spent awaiting for partition write quota. Same for each message in response.
*
* @generated from field: google.protobuf.Duration partition_quota_wait_time = 4;
*/
partitionQuotaWaitTime?: Duration;
/**
* Time spent awaiting for topic write quota. Same for each message in response.
*
* @generated from field: google.protobuf.Duration topic_quota_wait_time = 5;
*/
topicQuotaWaitTime?: Duration;
};
/**
* Describes the message Ydb.Topic.StreamWriteMessage.WriteResponse.WriteStatistics.
* Use `create(StreamWriteMessage_WriteResponse_WriteStatisticsSchema)` to create a new message.
*/
export declare const StreamWriteMessage_WriteResponse_WriteStatisticsSchema: GenMessage<StreamWriteMessage_WriteResponse_WriteStatistics>;
/**
* Messages for bidirectional streaming rpc StreamRead
*
* @generated from message Ydb.Topic.StreamReadMessage
*/
export type StreamReadMessage = Message<"Ydb.Topic.StreamReadMessage"> & {};
/**
* Describes the message Ydb.Topic.StreamReadMessage.
* Use `create(StreamReadMessageSchema)` to create a new message.
*/
export declare const StreamReadMessageSchema: GenMessage<StreamReadMessage>;
/**
* Within a StreamRead session delivered messages are separated by partition.
* Reads from a single partition are represented by a partition session.
*
* @generated from message Ydb.Topic.StreamReadMessage.PartitionSession
*/
export type StreamReadMessage_PartitionSession = Message<"Ydb.Topic.StreamReadMessage.PartitionSession"> & {
/**
* Identifier of partition session. Unique inside one RPC call.
*
* @generated from field: int64 partition_session_id = 1;
*/
partitionSessionId: bigint;
/**
* Topic path of partition.
*
* @generated from field: string path = 2;
*/
path: string;
/**
* Partition identifier.
*
* @generated from field: int64 partition_id = 3;
*/
partitionId: bigint;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.PartitionSession.
* Use `create(StreamReadMessage_PartitionSessionSchema)` to create a new message.
*/
export declare const StreamReadMessage_PartitionSessionSchema: GenMessage<StreamReadMessage_PartitionSession>;
/**
* Client-server message for read session. Contains one of:
* InitRequest - handshake request.
* ReadRequest - request for data.
* CommitOffsetRequest - request for commit of some read data.
* PartitionSessionStatusRequest - request for session status
* UpdateTokenRequest - request to update auth token
* DirectReadAck - client signals it has finished direct reading from the partition node.
*
* StartPartitionSessionResponse - Response to StreamReadServerMessage.StartPartitionSessionRequest.
* Client signals it is ready to get data from partition.
* StopPartitionSessionResponse - Response to StreamReadServerMessage.StopPartitionSessionRequest.
* Client signals it has finished working with partition. Mandatory for graceful stop, optional otherwise.
*
* @generated from message Ydb.Topic.StreamReadMessage.FromClient
*/
export type StreamReadMessage_FromClient = Message<"Ydb.Topic.StreamReadMessage.FromClient"> & {
/**
* @generated from oneof Ydb.Topic.StreamReadMessage.FromClient.client_message
*/
clientMessage: {
/**
* Client requests.
*
* @generated from field: Ydb.Topic.StreamReadMessage.InitRequest init_request = 1;
*/
value: StreamReadMessage_InitRequest;
case: "initRequest";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.ReadRequest read_request = 2;
*/
value: StreamReadMessage_ReadRequest;
case: "readRequest";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.CommitOffsetRequest commit_offset_request = 3;
*/
value: StreamReadMessage_CommitOffsetRequest;
case: "commitOffsetRequest";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequest partition_session_status_request = 4;
*/
value: StreamReadMessage_PartitionSessionStatusRequest;
case: "partitionSessionStatusRequest";
} | {
/**
* @generated from field: Ydb.Topic.UpdateTokenRequest update_token_request = 5;
*/
value: UpdateTokenRequest;
case: "updateTokenRequest";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.DirectReadAck direct_read_ack = 8;
*/
value: StreamReadMessage_DirectReadAck;
case: "directReadAck";
} | {
/**
* Responses to respective server commands.
*
* @generated from field: Ydb.Topic.StreamReadMessage.StartPartitionSessionResponse start_partition_session_response = 6;
*/
value: StreamReadMessage_StartPartitionSessionResponse;
case: "startPartitionSessionResponse";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.StopPartitionSessionResponse stop_partition_session_response = 7;
*/
value: StreamReadMessage_StopPartitionSessionResponse;
case: "stopPartitionSessionResponse";
} | {
case: undefined;
value?: undefined;
};
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.FromClient.
* Use `create(StreamReadMessage_FromClientSchema)` to create a new message.
*/
export declare const StreamReadMessage_FromClientSchema: GenMessage<StreamReadMessage_FromClient>;
/**
* Server-client message for read session. Contains one of:
* InitResponse - handshake response from server.
* ReadResponse - portion of data.
* CommitOffsetResponse - acknowledgment for commit.
* PartitionSessionStatusResponse - server response with partition session status.
* UpdateTokenResponse - acknowledgment of token update.
*
* StartPartitionSessionRequest - command from server to create a partition session.
* StopPartitionSessionRequest - command from server to destroy a partition session.
* UpdatePartitionSession - command from server to update a partition session.
*
* @generated from message Ydb.Topic.StreamReadMessage.FromServer
*/
export type StreamReadMessage_FromServer = Message<"Ydb.Topic.StreamReadMessage.FromServer"> & {
/**
* Server status of response.
*
* @generated from field: Ydb.StatusIds.StatusCode status = 1;
*/
status: StatusIds_StatusCode;
/**
* Issues if any.
*
* @generated from field: repeated Ydb.Issue.IssueMessage issues = 2;
*/
issues: IssueMessage[];
/**
* @generated from oneof Ydb.Topic.StreamReadMessage.FromServer.server_message
*/
serverMessage: {
/**
* Responses to respective client requests.
*
* @generated from field: Ydb.Topic.StreamReadMessage.InitResponse init_response = 3;
*/
value: StreamReadMessage_InitResponse;
case: "initResponse";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.ReadResponse read_response = 4;
*/
value: StreamReadMessage_ReadResponse;
case: "readResponse";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.CommitOffsetResponse commit_offset_response = 5;
*/
value: StreamReadMessage_CommitOffsetResponse;
case: "commitOffsetResponse";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponse partition_session_status_response = 6;
*/
value: StreamReadMessage_PartitionSessionStatusResponse;
case: "partitionSessionStatusResponse";
} | {
/**
* @generated from field: Ydb.Topic.UpdateTokenResponse update_token_response = 7;
*/
value: UpdateTokenResponse;
case: "updateTokenResponse";
} | {
/**
* Server commands.
*
* @generated from field: Ydb.Topic.StreamReadMessage.StartPartitionSessionRequest start_partition_session_request = 8;
*/
value: StreamReadMessage_StartPartitionSessionRequest;
case: "startPartitionSessionRequest";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.StopPartitionSessionRequest stop_partition_session_request = 9;
*/
value: StreamReadMessage_StopPartitionSessionRequest;
case: "stopPartitionSessionRequest";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.UpdatePartitionSession update_partition_session = 10;
*/
value: StreamReadMessage_UpdatePartitionSession;
case: "updatePartitionSession";
} | {
/**
* @generated from field: Ydb.Topic.StreamReadMessage.EndPartitionSession end_partition_session = 11;
*/
value: StreamReadMessage_EndPartitionSession;
case: "endPartitionSession";
} | {
case: undefined;
value?: undefined;
};
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.FromServer.
* Use `create(StreamReadMessage_FromServerSchema)` to create a new message.
*/
export declare const StreamReadMessage_FromServerSchema: GenMessage<StreamReadMessage_FromServer>;
/**
* Handshake request.
*
* @generated from message Ydb.Topic.StreamReadMessage.InitRequest
*/
export type StreamReadMessage_InitRequest = Message<"Ydb.Topic.StreamReadMessage.InitRequest"> & {
/**
* Message that describes topic to read.
* Topics that will be read by this session.
*
* @generated from field: repeated Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings topics_read_settings = 1;
*/
topicsReadSettings: StreamReadMessage_InitRequest_TopicReadSettings[];
/**
* Path of consumer that is used for reading by this session.
*
* @generated from field: string consumer = 2;
*/
consumer: string;
/**
* Optional name. Will be shown in debug stat.
*
* @generated from field: string reader_name = 3;
*/
readerName: string;
/**
* Direct reading from a partition node.
*
* @generated from field: bool direct_read = 4;
*/
directRead: boolean;
/**
* Indicates that the SDK supports auto partitioning.
*
* @generated from field: bool auto_partitioning_support = 5;
*/
autoPartitioningSupport: boolean;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.InitRequest.
* Use `create(StreamReadMessage_InitRequestSchema)` to create a new message.
*/
export declare const StreamReadMessage_InitRequestSchema: GenMessage<StreamReadMessage_InitRequest>;
/**
* @generated from message Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings
*/
export type StreamReadMessage_InitRequest_TopicReadSettings = Message<"Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings"> & {
/**
* Topic path.
*
* @generated from field: string path = 1;
*/
path: string;
/**
* Partitions that will be read by this session.
* If list is empty - then session will read all partitions.
*
* @generated from field: repeated int64 partition_ids = 2;
*/
partitionIds: bigint[];
/**
* Skip all messages that has write timestamp smaller than now - max_lag.
* Zero means infinite lag.
*
* @generated from field: google.protobuf.Duration max_lag = 3;
*/
maxLag?: Duration;
/**
* Read data only after this timestamp from this topic.
* Read only messages with 'written_at' value greater or equal than this timestamp.
*
* @generated from field: google.protobuf.Timestamp read_from = 4;
*/
readFrom?: Timestamp;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.InitRequest.TopicReadSettings.
* Use `create(StreamReadMessage_InitRequest_TopicReadSettingsSchema)` to create a new message.
*/
export declare const StreamReadMessage_InitRequest_TopicReadSettingsSchema: GenMessage<StreamReadMessage_InitRequest_TopicReadSettings>;
/**
* Handshake response.
*
* @generated from message Ydb.Topic.StreamReadMessage.InitResponse
*/
export type StreamReadMessage_InitResponse = Message<"Ydb.Topic.StreamReadMessage.InitResponse"> & {
/**
* Read session identifier.
*
* @generated from field: string session_id = 1;
*/
sessionId: string;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.InitResponse.
* Use `create(StreamReadMessage_InitResponseSchema)` to create a new message.
*/
export declare const StreamReadMessage_InitResponseSchema: GenMessage<StreamReadMessage_InitResponse>;
/**
* Message that represents client readiness for receiving more data.
*
* @generated from message Ydb.Topic.StreamReadMessage.ReadRequest
*/
export type StreamReadMessage_ReadRequest = Message<"Ydb.Topic.StreamReadMessage.ReadRequest"> & {
/**
* Server and client each keep track of total bytes size of all ReadResponses.
* When client is ready to receive N more bytes in responses (to increment possible total by N),
* it sends a ReadRequest with bytes_size = N.
* bytes_size value must be positive.
* So in expression 'A = (sum of bytes_size in all ReadRequests) - (sum of bytes_size in all ReadResponses)'
* server will keep A (available size for responses) non-negative.
* But there is an exception. If server receives ReadRequest, and the first message in response exceeds A -
* then it will still be delivered, and A will become negative until enough additional ReadRequests.
*
* Example:
* 1) Let client have 200 bytes buffer. It sends ReadRequest with bytes_size = 200;
* 2) Server may return one ReadResponse with bytes_size = 70 and than another 80 bytes response;
* now client buffer has 50 free bytes, server is free to send up to 50 bytes in responses.
* 3) Client processes 100 bytes from buffer, now buffer free space is 150 bytes,
* so client sends ReadRequest with bytes_size = 100;
* 4) Server is free to send up to 50 + 100 = 150 bytes. But the next read message is too big,
* and it sends 160 bytes ReadResponse.
* 5) Let's assume client somehow processes it, and its 200 bytes buffer is free again.
* It should account for excess 10 bytes and send ReadRequest with bytes_size = 210.
*
* @generated from field: int64 bytes_size = 1;
*/
bytesSize: bigint;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.ReadRequest.
* Use `create(StreamReadMessage_ReadRequestSchema)` to create a new message.
*/
export declare const StreamReadMessage_ReadRequestSchema: GenMessage<StreamReadMessage_ReadRequest>;
/**
* Data read.
*
* @generated from message Ydb.Topic.StreamReadMessage.ReadResponse
*/
export type StreamReadMessage_ReadResponse = Message<"Ydb.Topic.StreamReadMessage.ReadResponse"> & {
/**
* Client messages, divided by partitions.
*
* @generated from field: repeated Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData partition_data = 1;
*/
partitionData: StreamReadMessage_ReadResponse_PartitionData[];
/**
* Total size in bytes of this response as calculated by server.
* See ReadRequest comment above.
*
* @generated from field: int64 bytes_size = 2;
*/
bytesSize: bigint;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.ReadResponse.
* Use `create(StreamReadMessage_ReadResponseSchema)` to create a new message.
*/
export declare const StreamReadMessage_ReadResponseSchema: GenMessage<StreamReadMessage_ReadResponse>;
/**
* One client message representation.
*
* @generated from message Ydb.Topic.StreamReadMessage.ReadResponse.MessageData
*/
export type StreamReadMessage_ReadResponse_MessageData = Message<"Ydb.Topic.StreamReadMessage.ReadResponse.MessageData"> & {
/**
* Partition offset in partition that assigned for message.
*
* unique value for client side deduplication - Topic:Partition:Offset
*
* @generated from field: int64 offset = 1;
*/
offset: bigint;
/**
* Sequence number that provided with message on write from client.
*
* @generated from field: int64 seq_no = 2;
*/
seqNo: bigint;
/**
* Timestamp of creation of message provided on write from client.
*
* @generated from field: google.protobuf.Timestamp created_at = 3;
*/
createdAt?: Timestamp;
/**
* Compressed client message body.
*
* @generated from field: bytes data = 5;
*/
data: Uint8Array;
/**
* Uncompressed size of client message body.
* sent as is from WriteRequest, without check on server side. May be empty (for writes from old client) or wrong (if bug in writer).
* Use it for optimization purposes only, don't trust it.
*
* @generated from field: int64 uncompressed_size = 6;
*/
uncompressedSize: bigint;
/**
* Filled if message_group_id was set on message write.
*
* @generated from field: string message_group_id = 7;
*/
messageGroupId: string;
/**
* @generated from field: repeated Ydb.Topic.MetadataItem metadata_items = 8;
*/
metadataItems: MetadataItem[];
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.ReadResponse.MessageData.
* Use `create(StreamReadMessage_ReadResponse_MessageDataSchema)` to create a new message.
*/
export declare const StreamReadMessage_ReadResponse_MessageDataSchema: GenMessage<StreamReadMessage_ReadResponse_MessageData>;
/**
* Representation of sequence of client messages from one write session.
*
* @generated from message Ydb.Topic.StreamReadMessage.ReadResponse.Batch
*/
export type StreamReadMessage_ReadResponse_Batch = Message<"Ydb.Topic.StreamReadMessage.ReadResponse.Batch"> & {
/**
* List of client messages.
*
* @generated from field: repeated Ydb.Topic.StreamReadMessage.ReadResponse.MessageData message_data = 1;
*/
messageData: StreamReadMessage_ReadResponse_MessageData[];
/**
* Producer identifier provided by client for this batch of client messages.
*
* @generated from field: string producer_id = 2;
*/
producerId: string;
/**
* Client metadata attached to write session, the same for all messages in batch.
*
* @generated from field: map<string, string> write_session_meta = 3;
*/
writeSessionMeta: {
[key: string]: string;
};
/**
* Codec that is used for data compression.
* See enum Codec above for values.
*
* @generated from field: int32 codec = 4;
*/
codec: number;
/**
* Persist timestamp on server for batch.
*
* @generated from field: google.protobuf.Timestamp written_at = 5;
*/
writtenAt?: Timestamp;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.ReadResponse.Batch.
* Use `create(StreamReadMessage_ReadResponse_BatchSchema)` to create a new message.
*/
export declare const StreamReadMessage_ReadResponse_BatchSchema: GenMessage<StreamReadMessage_ReadResponse_Batch>;
/**
* Representation of sequence of messages from one partition.
*
* @generated from message Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData
*/
export type StreamReadMessage_ReadResponse_PartitionData = Message<"Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData"> & {
/**
* @generated from field: int64 partition_session_id = 1;
*/
partitionSessionId: bigint;
/**
* Client messages, divided by write sessions.
*
* @generated from field: repeated Ydb.Topic.StreamReadMessage.ReadResponse.Batch batches = 2;
*/
batches: StreamReadMessage_ReadResponse_Batch[];
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.ReadResponse.PartitionData.
* Use `create(StreamReadMessage_ReadResponse_PartitionDataSchema)` to create a new message.
*/
export declare const StreamReadMessage_ReadResponse_PartitionDataSchema: GenMessage<StreamReadMessage_ReadResponse_PartitionData>;
/**
* Signal for server that client processed some read data.
*
* @generated from message Ydb.Topic.StreamReadMessage.CommitOffsetRequest
*/
export type StreamReadMessage_CommitOffsetRequest = Message<"Ydb.Topic.StreamReadMessage.CommitOffsetRequest"> & {
/**
* Partition offsets that indicates processed data.
*
* @generated from field: repeated Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset commit_offsets = 1;
*/
commitOffsets: StreamReadMessage_CommitOffsetRequest_PartitionCommitOffset[];
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.CommitOffsetRequest.
* Use `create(StreamReadMessage_CommitOffsetRequestSchema)` to create a new message.
*/
export declare const StreamReadMessage_CommitOffsetRequestSchema: GenMessage<StreamReadMessage_CommitOffsetRequest>;
/**
* Message that is used for describing commit.
*
* @generated from message Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset
*/
export type StreamReadMessage_CommitOffsetRequest_PartitionCommitOffset = Message<"Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset"> & {
/**
* Identifier of partition session with data to commit.
*
* @generated from field: int64 partition_session_id = 1;
*/
partitionSessionId: bigint;
/**
* Processed offsets ranges, repeated in case of disjoint ranges.
*
* @generated from field: repeated Ydb.Topic.OffsetsRange offsets = 2;
*/
offsets: OffsetsRange[];
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.CommitOffsetRequest.PartitionCommitOffset.
* Use `create(StreamReadMessage_CommitOffsetRequest_PartitionCommitOffsetSchema)` to create a new message.
*/
export declare const StreamReadMessage_CommitOffsetRequest_PartitionCommitOffsetSchema: GenMessage<StreamReadMessage_CommitOffsetRequest_PartitionCommitOffset>;
/**
* Acknowledgement for commits.
*
* @generated from message Ydb.Topic.StreamReadMessage.CommitOffsetResponse
*/
export type StreamReadMessage_CommitOffsetResponse = Message<"Ydb.Topic.StreamReadMessage.CommitOffsetResponse"> & {
/**
* Partitions with progress.
*
* @generated from field: repeated Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset partitions_committed_offsets = 1;
*/
partitionsCommittedOffsets: StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffset[];
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.CommitOffsetResponse.
* Use `create(StreamReadMessage_CommitOffsetResponseSchema)` to create a new message.
*/
export declare const StreamReadMessage_CommitOffsetResponseSchema: GenMessage<StreamReadMessage_CommitOffsetResponse>;
/**
* Per-partition commit representation.
*
* @generated from message Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset
*/
export type StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffset = Message<"Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset"> & {
/**
* Partition session identifier.
*
* @generated from field: int64 partition_session_id = 1;
*/
partitionSessionId: bigint;
/**
* Upper bound for committed offsets.
*
* @generated from field: int64 committed_offset = 2;
*/
committedOffset: bigint;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.CommitOffsetResponse.PartitionCommittedOffset.
* Use `create(StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffsetSchema)` to create a new message.
*/
export declare const StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffsetSchema: GenMessage<StreamReadMessage_CommitOffsetResponse_PartitionCommittedOffset>;
/**
* @generated from message Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequest
*/
export type StreamReadMessage_PartitionSessionStatusRequest = Message<"Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequest"> & {
/**
* @generated from field: int64 partition_session_id = 1;
*/
partitionSessionId: bigint;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.PartitionSessionStatusRequest.
* Use `create(StreamReadMessage_PartitionSessionStatusRequestSchema)` to create a new message.
*/
export declare const StreamReadMessage_PartitionSessionStatusRequestSchema: GenMessage<StreamReadMessage_PartitionSessionStatusRequest>;
/**
* Response to status request.
*
* @generated from message Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponse
*/
export type StreamReadMessage_PartitionSessionStatusResponse = Message<"Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponse"> & {
/**
* Identifier of partition session whose status was requested.
*
* @generated from field: int64 partition_session_id = 1;
*/
partitionSessionId: bigint;
/**
* Partition contains messages with offsets in range [start, end).
*
* @generated from field: Ydb.Topic.OffsetsRange partition_offsets = 2;
*/
partitionOffsets?: OffsetsRange;
/**
* Each offset up to and including (committed_offset - 1) was fully processed.
*
* @generated from field: int64 committed_offset = 3;
*/
committedOffset: bigint;
/**
* Write timestamp of next message written to this partition will be no less than write_time_high_watermark.
*
* @generated from field: google.protobuf.Timestamp write_time_high_watermark = 4;
*/
writeTimeHighWatermark?: Timestamp;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.PartitionSessionStatusResponse.
* Use `create(StreamReadMessage_PartitionSessionStatusResponseSchema)` to create a new message.
*/
export declare const StreamReadMessage_PartitionSessionStatusResponseSchema: GenMessage<StreamReadMessage_PartitionSessionStatusResponse>;
/**
* Command from server to create and start a partition session.
* Client must respond with StartPartitionSessionResponse when ready to receive data from this partition.
*
* @generated from message Ydb.Topic.StreamReadMessage.StartPartitionSessionRequest
*/
export type StreamReadMessage_StartPartitionSessionRequest = Message<"Ydb.Topic.StreamReadMessage.StartPartitionSessionRequest"> & {
/**
* Partition session description.
*
* @generated from field: Ydb.Topic.StreamReadMessage.PartitionSession partition_session = 1;
*/
partitionSession?: StreamReadMessage_PartitionSession;
/**
* Each offset up to and including (committed_offset - 1) was fully processed.
*
* @generated from field: int64 committed_offset = 2;
*/
committedOffset: bigint;
/**
* Partition contains messages with offsets in range [start, end).
*
* @generated from field: Ydb.Topic.OffsetsRange partition_offsets = 3;
*/
partitionOffsets?: OffsetsRange;
/**
* Partition location, filled only when InitRequest.direct_read is true.
*
* @generated from field: Ydb.Topic.PartitionLocation partition_location = 4;
*/
partitionLocation?: PartitionLocation;
};
/**
* Describes the message Ydb.Topic.StreamReadMessage.StartPartitionSessionRequest.
* Use `create(StreamReadMessage_StartPartitionSessionRequestSchema)` to create a new message.
*/
export declare const StreamReadMessage_StartPartitionSessionRequestSchema: GenMessage<StreamReadMessage_StartPartitionSessionRequest>;
/**
* Signal for server that client is ready to recive data for partition.
*
* @generated from message Ydb.Topic.StreamReadMessage.StartPartitionSessionResponse
*/
export type StreamReadMessage_StartPartitionSessionResponse = Message<"Ydb.Topic.StreamReadMessage.StartPartitionSessionResponse"> & {
/**
* Partition session identifier of partition to start read.
*
* @generated from field: int64 partition_session_id = 1;
*/
partitionSessionId: bigint;
/**
* Reads in this partition session will start from offset no less than read_offset.
* If read_offset is set, server will check that read_offset is no less that actual committed offset.
* If check fails then server will send an error message (status != SUCCESS) and close stream.
*
* If read_offset is not set, no check will be made.
* InitRequest.max_lag and InitRequest.read_from could lead to skip of more messages.
* Server will return data starting from offse