SDK for PHP 3.x

Client: Aws\KeyspacesStreams\KeyspacesStreamsClient
Service ID: keyspacesstreams
Version: 2024-09-09

This page describes the parameters and results for the operations of the Amazon Keyspaces Streams (2024-09-09), and shows how to use the Aws\KeyspacesStreams\KeyspacesStreamsClient object to call the described operations. This documentation is specific to the 2024-09-09 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

GetRecords ( array $params = [] )
Retrieves data records from a specified shard in an Amazon Keyspaces data stream.
GetShardIterator ( array $params = [] )
Returns a shard iterator that serves as a bookmark for reading data from a specific position in an Amazon Keyspaces data stream's shard.
GetStream ( array $params = [] )
Returns detailed information about a specific data capture stream for an Amazon Keyspaces table.
ListStreams ( array $params = [] )
Returns a list of all data capture streams associated with your Amazon Keyspaces account or for a specific keyspace or table.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

GetStream
ListStreams

Operations

GetRecords

$result = $client->getRecords([/* ... */]);
$promise = $client->getRecordsAsync([/* ... */]);

Retrieves data records from a specified shard in an Amazon Keyspaces data stream. This operation returns a collection of data records from the shard, including the primary key columns and information about modifications made to the captured table data. Each record represents a single data modification in the Amazon Keyspaces table and includes metadata about when the change occurred.

Parameter Syntax

$result = $client->getRecords([
    'maxResults' => <integer>,
    'shardIterator' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of records to return in a single GetRecords request. Default value is 1000. You can specify a limit between 1 and 10000, but the actual number returned might be less than the specified maximum if the size of the data for the returned records exceeds the internal size limit.

shardIterator
Required: Yes
Type: string

The unique identifier of the shard iterator. A shard iterator specifies the position in the shard from which you want to start reading data records sequentially. You obtain this value by calling the GetShardIterator operation. Each shard iterator is valid for 5 minutes after creation.

Result Syntax

[
    'changeRecords' => [
        [
            'clusteringKeys' => [
                '<String>' => [
                    'asciiT' => '<string>',
                    'bigintT' => '<string>',
                    'blobT' => <string || resource || Psr\Http\Message\StreamInterface>,
                    'boolT' => true || false,
                    'counterT' => '<string>',
                    'dateT' => '<string>',
                    'decimalT' => '<string>',
                    'doubleT' => '<string>',
                    'floatT' => '<string>',
                    'inetT' => '<string>',
                    'intT' => '<string>',
                    'listT' => [
                        [
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'mapT' => [
                        [
                            'key' => [...], // RECURSIVE
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'setT' => [
                        [
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'smallintT' => '<string>',
                    'textT' => '<string>',
                    'timeT' => '<string>',
                    'timestampT' => '<string>',
                    'timeuuidT' => '<string>',
                    'tinyintT' => '<string>',
                    'tupleT' => [
                        [
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'udtT' => [
                        '<String>' => [
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'uuidT' => '<string>',
                    'varcharT' => '<string>',
                    'varintT' => '<string>',
                ],
                // ...
            ],
            'createdAt' => <DateTime>,
            'eventVersion' => '<string>',
            'newImage' => [
                'rowMetadata' => [
                    'expirationTime' => '<string>',
                    'writeTime' => '<string>',
                ],
                'staticCells' => [
                    '<String>' => [
                        'metadata' => [
                            'expirationTime' => '<string>',
                            'writeTime' => '<string>',
                        ],
                        'value' => [
                            'asciiT' => '<string>',
                            'bigintT' => '<string>',
                            'blobT' => <string || resource || Psr\Http\Message\StreamInterface>,
                            'boolT' => true || false,
                            'counterT' => '<string>',
                            'dateT' => '<string>',
                            'decimalT' => '<string>',
                            'doubleT' => '<string>',
                            'floatT' => '<string>',
                            'inetT' => '<string>',
                            'intT' => '<string>',
                            'listT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'mapT' => [
                                [
                                    'key' => [...], // RECURSIVE
                                    'metadata' => [
                                        'expirationTime' => '<string>',
                                        'writeTime' => '<string>',
                                    ],
                                    'value' => [...], // RECURSIVE
                                ],
                                // ...
                            ],
                            'setT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'smallintT' => '<string>',
                            'textT' => '<string>',
                            'timeT' => '<string>',
                            'timestampT' => '<string>',
                            'timeuuidT' => '<string>',
                            'tinyintT' => '<string>',
                            'tupleT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'udtT' => [
                                '<String>' => [...], // RECURSIVE
                                // ...
                            ],
                            'uuidT' => '<string>',
                            'varcharT' => '<string>',
                            'varintT' => '<string>',
                        ],
                    ],
                    // ...
                ],
                'valueCells' => [
                    '<String>' => [
                        'metadata' => [
                            'expirationTime' => '<string>',
                            'writeTime' => '<string>',
                        ],
                        'value' => [
                            'asciiT' => '<string>',
                            'bigintT' => '<string>',
                            'blobT' => <string || resource || Psr\Http\Message\StreamInterface>,
                            'boolT' => true || false,
                            'counterT' => '<string>',
                            'dateT' => '<string>',
                            'decimalT' => '<string>',
                            'doubleT' => '<string>',
                            'floatT' => '<string>',
                            'inetT' => '<string>',
                            'intT' => '<string>',
                            'listT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'mapT' => [
                                [
                                    'key' => [...], // RECURSIVE
                                    'metadata' => [
                                        'expirationTime' => '<string>',
                                        'writeTime' => '<string>',
                                    ],
                                    'value' => [...], // RECURSIVE
                                ],
                                // ...
                            ],
                            'setT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'smallintT' => '<string>',
                            'textT' => '<string>',
                            'timeT' => '<string>',
                            'timestampT' => '<string>',
                            'timeuuidT' => '<string>',
                            'tinyintT' => '<string>',
                            'tupleT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'udtT' => [
                                '<String>' => [...], // RECURSIVE
                                // ...
                            ],
                            'uuidT' => '<string>',
                            'varcharT' => '<string>',
                            'varintT' => '<string>',
                        ],
                    ],
                    // ...
                ],
            ],
            'oldImage' => [
                'rowMetadata' => [
                    'expirationTime' => '<string>',
                    'writeTime' => '<string>',
                ],
                'staticCells' => [
                    '<String>' => [
                        'metadata' => [
                            'expirationTime' => '<string>',
                            'writeTime' => '<string>',
                        ],
                        'value' => [
                            'asciiT' => '<string>',
                            'bigintT' => '<string>',
                            'blobT' => <string || resource || Psr\Http\Message\StreamInterface>,
                            'boolT' => true || false,
                            'counterT' => '<string>',
                            'dateT' => '<string>',
                            'decimalT' => '<string>',
                            'doubleT' => '<string>',
                            'floatT' => '<string>',
                            'inetT' => '<string>',
                            'intT' => '<string>',
                            'listT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'mapT' => [
                                [
                                    'key' => [...], // RECURSIVE
                                    'metadata' => [
                                        'expirationTime' => '<string>',
                                        'writeTime' => '<string>',
                                    ],
                                    'value' => [...], // RECURSIVE
                                ],
                                // ...
                            ],
                            'setT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'smallintT' => '<string>',
                            'textT' => '<string>',
                            'timeT' => '<string>',
                            'timestampT' => '<string>',
                            'timeuuidT' => '<string>',
                            'tinyintT' => '<string>',
                            'tupleT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'udtT' => [
                                '<String>' => [...], // RECURSIVE
                                // ...
                            ],
                            'uuidT' => '<string>',
                            'varcharT' => '<string>',
                            'varintT' => '<string>',
                        ],
                    ],
                    // ...
                ],
                'valueCells' => [
                    '<String>' => [
                        'metadata' => [
                            'expirationTime' => '<string>',
                            'writeTime' => '<string>',
                        ],
                        'value' => [
                            'asciiT' => '<string>',
                            'bigintT' => '<string>',
                            'blobT' => <string || resource || Psr\Http\Message\StreamInterface>,
                            'boolT' => true || false,
                            'counterT' => '<string>',
                            'dateT' => '<string>',
                            'decimalT' => '<string>',
                            'doubleT' => '<string>',
                            'floatT' => '<string>',
                            'inetT' => '<string>',
                            'intT' => '<string>',
                            'listT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'mapT' => [
                                [
                                    'key' => [...], // RECURSIVE
                                    'metadata' => [
                                        'expirationTime' => '<string>',
                                        'writeTime' => '<string>',
                                    ],
                                    'value' => [...], // RECURSIVE
                                ],
                                // ...
                            ],
                            'setT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'smallintT' => '<string>',
                            'textT' => '<string>',
                            'timeT' => '<string>',
                            'timestampT' => '<string>',
                            'timeuuidT' => '<string>',
                            'tinyintT' => '<string>',
                            'tupleT' => [
                                [...], // RECURSIVE
                                // ...
                            ],
                            'udtT' => [
                                '<String>' => [...], // RECURSIVE
                                // ...
                            ],
                            'uuidT' => '<string>',
                            'varcharT' => '<string>',
                            'varintT' => '<string>',
                        ],
                    ],
                    // ...
                ],
            ],
            'origin' => 'USER|REPLICATION|TTL',
            'partitionKeys' => [
                '<String>' => [
                    'asciiT' => '<string>',
                    'bigintT' => '<string>',
                    'blobT' => <string || resource || Psr\Http\Message\StreamInterface>,
                    'boolT' => true || false,
                    'counterT' => '<string>',
                    'dateT' => '<string>',
                    'decimalT' => '<string>',
                    'doubleT' => '<string>',
                    'floatT' => '<string>',
                    'inetT' => '<string>',
                    'intT' => '<string>',
                    'listT' => [
                        [
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'mapT' => [
                        [
                            'key' => [...], // RECURSIVE
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'setT' => [
                        [
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'smallintT' => '<string>',
                    'textT' => '<string>',
                    'timeT' => '<string>',
                    'timestampT' => '<string>',
                    'timeuuidT' => '<string>',
                    'tinyintT' => '<string>',
                    'tupleT' => [
                        [
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'udtT' => [
                        '<String>' => [
                            'metadata' => [
                                'expirationTime' => '<string>',
                                'writeTime' => '<string>',
                            ],
                            'value' => [...], // RECURSIVE
                        ],
                        // ...
                    ],
                    'uuidT' => '<string>',
                    'varcharT' => '<string>',
                    'varintT' => '<string>',
                ],
                // ...
            ],
            'sequenceNumber' => '<string>',
        ],
        // ...
    ],
    'nextShardIterator' => '<string>',
]

Result Details

Members
changeRecords
Type: Array of Record structures

An array of change data records retrieved from the specified shard. Each record represents a single data modification (insert, update, or delete) to a row in the Amazon Keyspaces table. Records include the primary key columns and information about what data was modified.

nextShardIterator
Type: string

The next position in the shard from which to start sequentially reading data records. If null, the shard has been closed and the requested iterator doesn't return any more data.

Errors

ThrottlingException:

The request rate is too high and exceeds the service's throughput limits.

This exception occurs when you send too many requests in a short period of time. Implement exponential backoff in your retry strategy to handle this exception. Reducing your request frequency or distributing requests more evenly can help avoid throughput exceptions.

AccessDeniedException:

You don't have sufficient access permissions to perform this operation.

This exception occurs when your IAM user or role lacks the required permissions to access the Amazon Keyspaces resource or perform the requested action. Check your IAM policies and ensure they grant the necessary permissions.

InternalServerException:

The Amazon Keyspaces service encountered an unexpected error while processing the request.

This internal server error is not related to your request parameters. Retry your request after a brief delay. If the issue persists, contact Amazon Web Services Support with details of your request to help identify and resolve the problem.

ValidationException:

The request validation failed because one or more input parameters failed validation.

This exception occurs when there are syntax errors in the request, field constraints are violated, or required parameters are missing. To help you fix the issue, the exception message provides details about which parameter failed and why.

ResourceNotFoundException:

The requested resource doesn't exist or could not be found.

This exception occurs when you attempt to access a keyspace, table, stream, or other Amazon Keyspaces resource that doesn't exist or that has been deleted. Verify that the resource identifier is correct and that the resource exists in your account.

GetShardIterator

$result = $client->getShardIterator([/* ... */]);
$promise = $client->getShardIteratorAsync([/* ... */]);

Returns a shard iterator that serves as a bookmark for reading data from a specific position in an Amazon Keyspaces data stream's shard. The shard iterator specifies the shard position from which to start reading data records sequentially. You can specify whether to begin reading at the latest record, the oldest record, or at a particular sequence number within the shard.

Parameter Syntax

$result = $client->getShardIterator([
    'sequenceNumber' => '<string>',
    'shardId' => '<string>', // REQUIRED
    'shardIteratorType' => 'TRIM_HORIZON|LATEST|AT_SEQUENCE_NUMBER|AFTER_SEQUENCE_NUMBER', // REQUIRED
    'streamArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
sequenceNumber
Type: string

The sequence number of the data record in the shard from which to start reading. Required if ShardIteratorType is AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER. This parameter is ignored for other iterator types.

shardId
Required: Yes
Type: string

The identifier of the shard within the stream. The shard ID uniquely identifies a subset of the stream's data records that you want to access.

shardIteratorType
Required: Yes
Type: string

Determines how the shard iterator is positioned. Must be one of the following:

  • TRIM_HORIZON - Start reading at the last untrimmed record in the shard, which is the oldest data record in the shard.

  • AT_SEQUENCE_NUMBER - Start reading exactly from the specified sequence number.

  • AFTER_SEQUENCE_NUMBER - Start reading right after the specified sequence number.

  • LATEST - Start reading just after the most recent record in the shard, so that you always read the most recent data.

streamArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the stream for which to get the shard iterator. The ARN uniquely identifies the stream within Amazon Keyspaces.

Result Syntax

[
    'shardIterator' => '<string>',
]

Result Details

Members
shardIterator
Type: string

The unique identifier for the shard iterator. This value is used in the GetRecords operation to retrieve data records from the specified shard. Each shard iterator expires 5 minutes after it is returned to the requester.

Errors

ThrottlingException:

The request rate is too high and exceeds the service's throughput limits.

This exception occurs when you send too many requests in a short period of time. Implement exponential backoff in your retry strategy to handle this exception. Reducing your request frequency or distributing requests more evenly can help avoid throughput exceptions.

AccessDeniedException:

You don't have sufficient access permissions to perform this operation.

This exception occurs when your IAM user or role lacks the required permissions to access the Amazon Keyspaces resource or perform the requested action. Check your IAM policies and ensure they grant the necessary permissions.

InternalServerException:

The Amazon Keyspaces service encountered an unexpected error while processing the request.

This internal server error is not related to your request parameters. Retry your request after a brief delay. If the issue persists, contact Amazon Web Services Support with details of your request to help identify and resolve the problem.

ValidationException:

The request validation failed because one or more input parameters failed validation.

This exception occurs when there are syntax errors in the request, field constraints are violated, or required parameters are missing. To help you fix the issue, the exception message provides details about which parameter failed and why.

ResourceNotFoundException:

The requested resource doesn't exist or could not be found.

This exception occurs when you attempt to access a keyspace, table, stream, or other Amazon Keyspaces resource that doesn't exist or that has been deleted. Verify that the resource identifier is correct and that the resource exists in your account.

GetStream

$result = $client->getStream([/* ... */]);
$promise = $client->getStreamAsync([/* ... */]);

Returns detailed information about a specific data capture stream for an Amazon Keyspaces table. The information includes the stream's Amazon Resource Name (ARN), creation time, current status, retention period, shard composition, and associated table details. This operation helps you monitor and manage the configuration of your Amazon Keyspaces data streams.

Parameter Syntax

$result = $client->getStream([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'shardFilter' => [
        'shardId' => '<string>',
        'type' => 'CHILD_SHARDS',
    ],
    'streamArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of shard objects to return in a single GetStream request. Default value is 100. The minimum value is 1 and the maximum value is 1000.

nextToken
Type: string

An optional pagination token provided by a previous GetStream operation. If this parameter is specified, the response includes only records beyond the token, up to the value specified by maxResults.

shardFilter
Type: ShardFilter structure

Optional filter criteria to apply when retrieving shards. You can filter shards based on their state or other attributes to narrow down the results returned by the GetStream operation.

streamArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the stream for which detailed information is requested. This uniquely identifies the specific stream you want to get information about.

Result Syntax

[
    'creationRequestDateTime' => <DateTime>,
    'keyspaceName' => '<string>',
    'nextToken' => '<string>',
    'shards' => [
        [
            'parentShardIds' => ['<string>', ...],
            'sequenceNumberRange' => [
                'endingSequenceNumber' => '<string>',
                'startingSequenceNumber' => '<string>',
            ],
            'shardId' => '<string>',
        ],
        // ...
    ],
    'streamArn' => '<string>',
    'streamLabel' => '<string>',
    'streamStatus' => 'ENABLING|ENABLED|DISABLING|DISABLED',
    'streamViewType' => 'NEW_IMAGE|OLD_IMAGE|NEW_AND_OLD_IMAGES|KEYS_ONLY',
    'tableName' => '<string>',
]

Result Details

Members
creationRequestDateTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the request to create this stream was issued. The value is represented in ISO 8601 format.

keyspaceName
Required: Yes
Type: string

The name of the keyspace containing the table associated with this stream. The keyspace name is part of the table's hierarchical identifier in Amazon Keyspaces.

nextToken
Type: string

A pagination token that can be used in a subsequent GetStream request. This token is returned if the response contains more shards than can be returned in a single response.

shards
Type: Array of Shard structures

An array of shard objects associated with this stream. Each shard contains a subset of the stream's data records and has its own unique identifier. The collection of shards represents the complete stream data.

streamArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) that uniquely identifies the stream within Amazon Keyspaces. This ARN can be used in other API operations to reference this specific stream.

streamLabel
Required: Yes
Type: string

A timestamp that serves as a unique identifier for this stream, used for debugging and monitoring purposes. The stream label represents the point in time when the stream was created.

streamStatus
Required: Yes
Type: string

The current status of the stream. Values can be ENABLING, ENABLED, DISABLING, or DISABLED. Operations on the stream depend on its current status.

streamViewType
Required: Yes
Type: string

The format of the data records in this stream. Currently, this can be one of the following options:

  • NEW_AND_OLD_IMAGES - both versions of the row, before and after the change. This is the default.

  • NEW_IMAGE - the version of the row after the change.

  • OLD_IMAGE - the version of the row before the change.

  • KEYS_ONLY - the partition and clustering keys of the row that was changed.

tableName
Required: Yes
Type: string

The name of the table associated with this stream. The stream captures changes to rows in this Amazon Keyspaces table.

Errors

ThrottlingException:

The request rate is too high and exceeds the service's throughput limits.

This exception occurs when you send too many requests in a short period of time. Implement exponential backoff in your retry strategy to handle this exception. Reducing your request frequency or distributing requests more evenly can help avoid throughput exceptions.

AccessDeniedException:

You don't have sufficient access permissions to perform this operation.

This exception occurs when your IAM user or role lacks the required permissions to access the Amazon Keyspaces resource or perform the requested action. Check your IAM policies and ensure they grant the necessary permissions.

InternalServerException:

The Amazon Keyspaces service encountered an unexpected error while processing the request.

This internal server error is not related to your request parameters. Retry your request after a brief delay. If the issue persists, contact Amazon Web Services Support with details of your request to help identify and resolve the problem.

ValidationException:

The request validation failed because one or more input parameters failed validation.

This exception occurs when there are syntax errors in the request, field constraints are violated, or required parameters are missing. To help you fix the issue, the exception message provides details about which parameter failed and why.

ResourceNotFoundException:

The requested resource doesn't exist or could not be found.

This exception occurs when you attempt to access a keyspace, table, stream, or other Amazon Keyspaces resource that doesn't exist or that has been deleted. Verify that the resource identifier is correct and that the resource exists in your account.

ListStreams

$result = $client->listStreams([/* ... */]);
$promise = $client->listStreamsAsync([/* ... */]);

Returns a list of all data capture streams associated with your Amazon Keyspaces account or for a specific keyspace or table. The response includes information such as stream ARNs, table associations, creation timestamps, and current status. This operation helps you discover and manage all active data streams in your Amazon Keyspaces environment.

Parameter Syntax

$result = $client->listStreams([
    'keyspaceName' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'tableName' => '<string>',
]);

Parameter Details

Members
keyspaceName
Type: string

The name of the keyspace for which to list streams. If specified, only streams associated with tables in this keyspace are returned. If omitted, streams from all keyspaces are included in the results.

maxResults
Type: int

The maximum number of streams to return in a single ListStreams request. Default value is 100. The minimum value is 1 and the maximum value is 1000.

nextToken
Type: string

An optional pagination token provided by a previous ListStreams operation. If this parameter is specified, the response includes only records beyond the token, up to the value specified by maxResults.

tableName
Type: string

The name of the table for which to list streams. Must be used together with keyspaceName. If specified, only streams associated with this specific table are returned.

Result Syntax

[
    'nextToken' => '<string>',
    'streams' => [
        [
            'keyspaceName' => '<string>',
            'streamArn' => '<string>',
            'streamLabel' => '<string>',
            'tableName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

A pagination token that can be used in a subsequent ListStreams request. This token is returned if the response contains more streams than can be returned in a single response based on the MaxResults parameter.

streams
Type: Array of Stream structures

An array of stream objects, each containing summary information about a stream including its ARN, status, and associated table information. This list includes all streams that match the request criteria.

Errors

ThrottlingException:

The request rate is too high and exceeds the service's throughput limits.

This exception occurs when you send too many requests in a short period of time. Implement exponential backoff in your retry strategy to handle this exception. Reducing your request frequency or distributing requests more evenly can help avoid throughput exceptions.

AccessDeniedException:

You don't have sufficient access permissions to perform this operation.

This exception occurs when your IAM user or role lacks the required permissions to access the Amazon Keyspaces resource or perform the requested action. Check your IAM policies and ensure they grant the necessary permissions.

InternalServerException:

The Amazon Keyspaces service encountered an unexpected error while processing the request.

This internal server error is not related to your request parameters. Retry your request after a brief delay. If the issue persists, contact Amazon Web Services Support with details of your request to help identify and resolve the problem.

ValidationException:

The request validation failed because one or more input parameters failed validation.

This exception occurs when there are syntax errors in the request, field constraints are violated, or required parameters are missing. To help you fix the issue, the exception message provides details about which parameter failed and why.

ResourceNotFoundException:

The requested resource doesn't exist or could not be found.

This exception occurs when you attempt to access a keyspace, table, stream, or other Amazon Keyspaces resource that doesn't exist or that has been deleted. Verify that the resource identifier is correct and that the resource exists in your account.

Shapes

AccessDeniedException

Description

You don't have sufficient access permissions to perform this operation.

This exception occurs when your IAM user or role lacks the required permissions to access the Amazon Keyspaces resource or perform the requested action. Check your IAM policies and ensure they grant the necessary permissions.

Members
message
Type: string

You don't have sufficient permissions to perform this action.

InternalServerException

Description

The Amazon Keyspaces service encountered an unexpected error while processing the request.

This internal server error is not related to your request parameters. Retry your request after a brief delay. If the issue persists, contact Amazon Web Services Support with details of your request to help identify and resolve the problem.

Members
message
Type: string

The service encountered an internal error. Try your request again.

KeyspacesCell

Description

Represents a cell in an Amazon Keyspaces table, containing both the value and metadata about the cell.

Members
metadata
Type: KeyspacesMetadata structure

Metadata associated with this cell, such as time-to-live (TTL) expiration time and write timestamp.

value
Type: KeyspacesCellValue structure

The value stored in this cell, which can be of various data types supported by Amazon Keyspaces.

KeyspacesCellMapDefinition

Description

Represents a key-value pair within a map data type in Amazon Keyspaces, including the associated metadata.

Members
key
Type: KeyspacesCellValue structure

The key of this map entry in the Amazon Keyspaces cell.

metadata
Type: KeyspacesMetadata structure

Metadata for this specific key-value pair within the map, such as timestamps and TTL information.

value
Type: KeyspacesCellValue structure

The value associated with the key in this map entry.

KeyspacesCellValue

Description

Represents the value of a cell in an Amazon Keyspaces table, supporting various data types with type-specific fields.

Members
asciiT
Type: string

A value of ASCII text type, containing US-ASCII characters.

bigintT
Type: string

A 64-bit signed integer value.

blobT
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

A binary large object (BLOB) value stored as a Base64-encoded string.

boolT
Type: boolean

A Boolean value, either true or false.

counterT
Type: string

A distributed counter value that can be incremented and decremented.

dateT
Type: string

A date value without a time component, represented as days since epoch (January 1, 1970).

decimalT
Type: string

A variable-precision decimal number value.

doubleT
Type: string

A 64-bit double-precision floating point value.

floatT
Type: string

A 32-bit single-precision floating point value.

inetT
Type: string

An IP address value, either IPv4 or IPv6 format.

intT
Type: string

A 32-bit signed integer value.

listT
Type: Array of KeyspacesCell structures

An ordered collection of elements that can contain duplicate values.

mapT
Type: Array of KeyspacesCellMapDefinition structures

A collection of key-value pairs where each key is unique.

setT
Type: Array of KeyspacesCell structures

An unordered collection of unique elements.

smallintT
Type: string

A 16-bit signed integer value.

textT
Type: string

A UTF-8 encoded string value.

timeT
Type: string

A time value without a date component, with nanosecond precision.

timestampT
Type: string

A timestamp value representing date and time with millisecond precision.

timeuuidT
Type: string

A universally unique identifier (UUID) that includes a timestamp component, ensuring both uniqueness and time ordering.

tinyintT
Type: string

An 8-bit signed integer value.

tupleT
Type: Array of KeyspacesCell structures

A fixed-length ordered list of elements, where each element can be of a different data type.

udtT
Type: Associative array of custom strings keys (String) to KeyspacesCell structures

A user-defined type (UDT) value consisting of named fields, each with its own data type.

uuidT
Type: string

A universally unique identifier (UUID) value.

varcharT
Type: string

A UTF-8 encoded string value, functionally equivalent to text type.

varintT
Type: string

A variable precision integer value with arbitrary length.

KeyspacesMetadata

Description

Contains metadata information associated with Amazon Keyspaces cells and rows.

Members
expirationTime
Type: string

The time at which the associated data will expire, based on the time-to-live (TTL) setting.

writeTime
Type: string

The timestamp at which the associated data was written to the database.

KeyspacesRow

Description

Represents a row in an Amazon Keyspaces table, containing regular column values, static column values, and row-level metadata.

Members
rowMetadata
Type: KeyspacesMetadata structure

Metadata that applies to the entire row, such as timestamps and TTL information.

staticCells
Type: Associative array of custom strings keys (String) to KeyspacesCell structures

A map of static column cells shared by all rows with the same partition key, where keys are column names and values are the corresponding cells.

valueCells
Type: Associative array of custom strings keys (String) to KeyspacesCell structures

A map of regular (non-static) column cells in the row, where keys are column names and values are the corresponding cells.

Record

Description

Represents a change data capture record for a row in an Amazon Keyspaces table, containing both the new and old states of the row.

Members
clusteringKeys
Type: Associative array of custom strings keys (String) to KeyspacesCellValue structures

The clustering key columns and their values for the affected row, which determine the order of rows within a partition.

createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp indicating when this change data capture record was created.

eventVersion
Type: string

The version of the record format, used to track the evolution of the record structure over time.

newImage
Type: KeyspacesRow structure

The state of the row after the change operation that generated this record.

oldImage
Type: KeyspacesRow structure

The state of the row before the change operation that generated this record.

origin
Type: string

The origin or source of this change data capture record.

partitionKeys
Type: Associative array of custom strings keys (String) to KeyspacesCellValue structures

The partition key columns and their values for the affected row.

sequenceNumber
Type: string

A unique identifier assigned to this record within the shard, used for ordering and tracking purposes.

ResourceNotFoundException

Description

The requested resource doesn't exist or could not be found.

This exception occurs when you attempt to access a keyspace, table, stream, or other Amazon Keyspaces resource that doesn't exist or that has been deleted. Verify that the resource identifier is correct and that the resource exists in your account.

Members
message
Type: string

The requested resource wasn't found. Verify that the resource exists and try again.

SequenceNumberRange

Description

Defines a range of sequence numbers within a change data capture stream's shard for Amazon Keyspaces.

Members
endingSequenceNumber
Type: string

The ending sequence number of the range, which may be null for open-ended ranges.

startingSequenceNumber
Type: string

The starting sequence number of the range.

Shard

Description

Represents a uniquely identified group of change records within a change data capture stream for Amazon Keyspaces.

Members
parentShardIds
Type: Array of strings

The identifiers of parent shards that this shard evolved from, if this shard was created through resharding.

sequenceNumberRange
Type: SequenceNumberRange structure

The range of sequence numbers contained within this shard.

shardId
Type: string

A unique identifier for this shard within the stream.

ShardFilter

Description

A filter used to limit the shards returned by a GetStream operation.

Members
shardId
Type: string

The identifier of a specific shard used to filter results based on the specified filter type.

type
Type: string

The type of shard filter to use, which determines how the shardId parameter is interpreted.

Stream

Description

Represents a change data capture stream for an Amazon Keyspaces table, which enables tracking and processing of data changes.

Members
keyspaceName
Required: Yes
Type: string

The name of the keyspace containing the table associated with this stream.

streamArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) that uniquely identifies this stream.

streamLabel
Required: Yes
Type: string

A unique identifier for this stream that can be used in stream operations.

tableName
Required: Yes
Type: string

The name of the table associated with this stream.

ThrottlingException

Description

The request rate is too high and exceeds the service's throughput limits.

This exception occurs when you send too many requests in a short period of time. Implement exponential backoff in your retry strategy to handle this exception. Reducing your request frequency or distributing requests more evenly can help avoid throughput exceptions.

Members
message
Type: string

The request was denied due to request throttling. Reduce the frequency of requests and try again.

ValidationException

Description

The request validation failed because one or more input parameters failed validation.

This exception occurs when there are syntax errors in the request, field constraints are violated, or required parameters are missing. To help you fix the issue, the exception message provides details about which parameter failed and why.

Members
errorCode
Type: string

An error occurred validating your request. See the error message for details.

message
Type: string

The input fails to satisfy the constraints specified by the service. Check the error details and modify your request.