Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GetCursorOpts ¶
type GetCursorOpts struct { // Name of the stream. StreamName string `q:"stream-name"` // Partition ID of the stream. The value can be in either of the following formats: // shardId-00000000000 // For example, if a stream has three partitions, the partition identifiers are 0, 1, and 2, // or shardId-0000000000, shardId-0000000001, and shardId-0000000002, respectively. PartitionId string `q:"partition-id"` // Cursor type. // AT_SEQUENCE_NUMBER: Data is read from the position denoted by a specific sequence number // (that is defined by starting-sequence-number). This is the default cursor type. // AFTER_SEQUENCE_NUMBER: Data is read right after the position denoted by a specific sequence number // (that is defined by starting-sequence-number). // TRIM_HORIZON: Data is read from the earliest data record in the partition. // For example, a tenant uses a DIS stream to upload three pieces of data A1, A2, and A3. N days later, // A1 has expired and A2 and A3 are still in the validity period. // In this case, if the tenant uses TRIM_HORIZON to download the data, the system downloads data from A2. // LATEST: Data is read from the latest record in the partition. // This setting ensures that you always read the latest record in the partition. // AT_TIMESTAMP: Data is read from the position denoted by a specific timestamp. // Enumeration values: // AT_SEQUENCE_NUMBER // AFTER_SEQUENCE_NUMBER // TRIM_HORIZON // LATEST // AT_TIMESTAMP CursorType string `q:"cursor-type,omitempty"` // Serial number. A sequence number is a unique identifier for each record. // DIS automatically allocates a sequence number when the data producer calls the PutRecords operation to add data to the DIS stream. // SN of the same partition key usually changes with time. // A longer interval between PutRecords requests results in a larger sequence number. // The sequence number is closely related to cursor types AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER. // The two parameters determine the position of the data to be read. // Value range: 0 to 9,223,372,036,854,775,807 StartingSequenceNumber string `q:"starting-sequence-number,omitempty"` // Timestamp when the data record starts to be read, which is closely related to cursor type AT_TIMESTAMP. // The two parameters determine the position of the data to be read. // Note: // The timestamp is accurate to milliseconds. Timestamp *int64 `q:"timestamp,omitempty"` // Unique ID of the stream. This parameter is mandatory for obtaining the iterator of an authorized stream. StreamId string `q:"stream-id,omitempty"` }
type GetCursorResponse ¶
type GetCursorResponse struct { // Data cursor. Value range: a string of 1 to 512 characters // Note: // The validity period of a data cursor is 5 minutes. // Minimum: 1 // Maximum: 512 PartitionCursor string `json:"partition_cursor,omitempty"` }
func GetCursor ¶
func GetCursor(client *golangsdk.ServiceClient, opts GetCursorOpts) (*GetCursorResponse, error)
type GetRecordsOpts ¶
type GetRecordsOpts struct { // Data cursor, which needs to be obtained through the API for obtaining data cursors. // Value range: a string of 1 to 512 characters // Note: // The validity period of a data cursor is 5 minutes. PartitionCursor string `q:"partition-cursor"` // Maximum number of bytes that can be obtained for each request. // Note: // If the value is less than the size of a single record in the partition, the record cannot be obtained. MaxFetchBytes *int `q:"max_fetch_bytes,omitempty"` }
type GetRecordsResponse ¶
type GetRecordsResponse struct { Records []Record `json:"records,omitempty"` // Next iterator. // Note: // The validity period of a data cursor is 5 minutes. NextPartitionCursor string `json:"next_partition_cursor,omitempty"` }
func GetRecords ¶
func GetRecords(client *golangsdk.ServiceClient, opts GetRecordsOpts) (*GetRecordsResponse, error)
type PutRecordsOpts ¶
type PutRecordsOpts struct { // Name of the stream. // Maximum: 64 StreamName string `json:"stream_name" required:"true"` // Unique ID of the stream. // If no stream is found by stream_name and stream_id is not empty, stream_id is used to search for the stream. // Note: // This parameter is mandatory when data is uploaded to the authorized stream. StreamId string `json:"stream_id,omitempty"` // List of records to be uploaded. Records []PutRecordsRequestEntry `json:"records" required:"true"` }
type PutRecordsRequestEntry ¶
type PutRecordsRequestEntry struct { // Data to be uploaded. The uploaded data is the serialized binary data (character string encoded using Base64). // For example, if the character string data needs to be uploaded, the character string after Base64 encoding is ZGF0YQ==. Data string `json:"data"` // Hash value of the data to be written to the partition. The hash value overwrites the hash value of partition_key. Value range: 0–long.max ExplicitHashKey string `json:"explicit_hash_key,omitempty"` // Partition ID of the stream. The value can be in either of the following formats: // shardId-0000000000 // 0 // For example, if a stream has three partitions, the partition identifiers are 0, 1, and 2, or shardId-0000000000, shardId-0000000001, and shardId-0000000002, respectively. PartitionId string `json:"partition_id,omitempty"` // Partition to which data is written to. Note: // If the partition_id parameter is transferred, the partition_id parameter is used preferentially. // If partition_id is not transferred, partition_key is used. PartitionKey string `json:"partition_key,omitempty"` }
type PutRecordsResponse ¶
type PutRecordsResponse struct { // Number of data records that fail to be uploaded. FailedRecordCount *int `json:"failed_record_count,omitempty"` Records []PutRecordsResultEntry `json:"records,omitempty"` }
func PutRecords ¶
func PutRecords(client *golangsdk.ServiceClient, opts PutRecordsOpts) (*PutRecordsResponse, error)
type PutRecordsResultEntry ¶
type PutRecordsResultEntry struct { // ID of the partition to which data is uploaded. PartitionId string `json:"partition_id,omitempty"` // Sequence number of the data to be uploaded. // A sequence number is a unique identifier for each record. // DIS automatically allocates a sequence number the data producer calls the PutRecords operation to add data to the DIS stream. // Sequence number of the same partition key usually changes with time. A longer interval between PutRecords requests results in a larger sequence number. SequenceNumber string `json:"sequence_number,omitempty"` // Error code. ErrorCode string `json:"error_code,omitempty"` // Error message. ErrorMessage string `json:"error_message,omitempty"` }
type Record ¶
type Record struct { // Partition key set when data is being uploaded. // Note: // If the partition_key parameter is passed when data is uploaded, this parameter will be returned when data is downloaded. // If partition_id instead of partition_key is passed when data is uploaded, no partition_key is returned. PartitionKey string `json:"partition_key,omitempty"` // Sequence number of the data record. SequenceNumber string `json:"sequence_number,omitempty"` // Downloaded data. // The downloaded data is the serialized binary data (Base64-encoded character string). // For example, the data returned by the data download API is "ZGF0YQ==", which is "data" after Base64 decoding. Data string `json:"data,omitempty"` // Timestamp when the record is written to DIS. CreatedAt *int64 `json:"timestamp,omitempty"` // Timestamp data type. // CreateTime: creation time. // Default: CreateTime TimestampType string `json:"timestamp_type,omitempty"` }
Click to show internal directories.
Click to hide internal directories.