Interface IAmazonDynamoDBStreams
- Namespace
- Amazon.DynamoDBv2
- Assembly
- AWSSDK.DynamoDBv2.dll
Interface for accessing DynamoDBStreams
Amazon DynamoDB
Amazon DynamoDB Streams provides API actions for accessing streams and processing stream records. To learn more about application development with Streams, see Capturing Table Activity with DynamoDB Streams in the Amazon DynamoDB Developer Guide.
public interface IAmazonDynamoDBStreams : IAmazonService, IDisposable
- Inherited Members
Methods
DescribeStreamAsync(DescribeStreamRequest, CancellationToken)
Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table.
note
You can call
DescribeStream
at a maximum rate of 10 times per second.
Each shard in the stream has a
SequenceNumberRange
associated with it.
If the SequenceNumberRange
has a StartingSequenceNumber
but no EndingSequenceNumber
, then the shard is still open (able to receive
more stream records). If both StartingSequenceNumber
and EndingSequenceNumber
are present, then that shard is closed and can no longer receive more data.
Task<DescribeStreamResponse> DescribeStreamAsync(DescribeStreamRequest request, CancellationToken cancellationToken = default)
Parameters
request
DescribeStreamRequestContainer for the necessary parameters to execute the DescribeStream service method.
cancellationToken
CancellationTokenA cancellation token that can be used by other objects or threads to receive notice of cancellation.
Returns
- Task<DescribeStreamResponse>
The response from the DescribeStream service method, as returned by DynamoDBStreams.
Exceptions
- InternalServerErrorException
An error occurred on the server side.
- ResourceNotFoundException
The operation tried to access a nonexistent stream.
- See Also
DescribeStreamAsync(string, CancellationToken)
Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table.
note
You can call
DescribeStream
at a maximum rate of 10 times per second.
Each shard in the stream has a
SequenceNumberRange
associated with it.
If the SequenceNumberRange
has a StartingSequenceNumber
but no EndingSequenceNumber
, then the shard is still open (able to receive
more stream records). If both StartingSequenceNumber
and EndingSequenceNumber
are present, then that shard is closed and can no longer receive more data.
Task<DescribeStreamResponse> DescribeStreamAsync(string streamArn, CancellationToken cancellationToken = default)
Parameters
streamArn
stringThe Amazon Resource Name (ARN) for the stream.
cancellationToken
CancellationTokenA cancellation token that can be used by other objects or threads to receive notice of cancellation.
Returns
- Task<DescribeStreamResponse>
The response from the DescribeStream service method, as returned by DynamoDBStreams.
Exceptions
- InternalServerErrorException
An error occurred on the server side.
- ResourceNotFoundException
The operation tried to access a nonexistent stream.
- See Also
GetRecordsAsync(GetRecordsRequest, CancellationToken)
Retrieves the stream records from a given shard.
Specify a shard iterator using the
ShardIterator
parameter. The shard
iterator specifies the position in the shard from which you want to start reading
stream records sequentially. If there are no stream records available in the portion
of the shard that the iterator points to, GetRecords
returns an empty
list. Note that it might take multiple calls to get to a portion of the shard that
contains stream records.
note
GetRecords
can retrieve a maximum of 1 MB of data or 1000 stream records,
whichever comes first.
Task<GetRecordsResponse> GetRecordsAsync(GetRecordsRequest request, CancellationToken cancellationToken = default)
Parameters
request
GetRecordsRequestContainer for the necessary parameters to execute the GetRecords service method.
cancellationToken
CancellationTokenA cancellation token that can be used by other objects or threads to receive notice of cancellation.
Returns
- Task<GetRecordsResponse>
The response from the GetRecords service method, as returned by DynamoDBStreams.
Exceptions
- ExpiredIteratorException
The shard iterator has expired and can no longer be used to retrieve stream records. A shard iterator expires 15 minutes after it is retrieved using the
action.GetShardIterator
- InternalServerErrorException
An error occurred on the server side.
- LimitExceededException
Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.
- ResourceNotFoundException
The operation tried to access a nonexistent stream.
- TrimmedDataAccessException
The operation attempted to read past the oldest stream record in a shard.
In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException if:
You request a shard iterator with a sequence number older than the trim point (24 hours).
You obtain a shard iterator, but before you use the iterator in a
request, a stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access a record that no longer exists.GetRecords
- See Also
GetRecordsAsync(string, CancellationToken)
Retrieves the stream records from a given shard.
Specify a shard iterator using the
ShardIterator
parameter. The shard
iterator specifies the position in the shard from which you want to start reading
stream records sequentially. If there are no stream records available in the portion
of the shard that the iterator points to, GetRecords
returns an empty
list. Note that it might take multiple calls to get to a portion of the shard that
contains stream records.
note
GetRecords
can retrieve a maximum of 1 MB of data or 1000 stream records,
whichever comes first.
Task<GetRecordsResponse> GetRecordsAsync(string shardIterator, CancellationToken cancellationToken = default)
Parameters
shardIterator
stringA shard iterator that was retrieved from a previous GetShardIterator operation. This iterator can be used to access the stream records in this shard.
cancellationToken
CancellationTokenA cancellation token that can be used by other objects or threads to receive notice of cancellation.
Returns
- Task<GetRecordsResponse>
The response from the GetRecords service method, as returned by DynamoDBStreams.
Exceptions
- ExpiredIteratorException
The shard iterator has expired and can no longer be used to retrieve stream records. A shard iterator expires 15 minutes after it is retrieved using the
action.GetShardIterator
- InternalServerErrorException
An error occurred on the server side.
- LimitExceededException
Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.
- ResourceNotFoundException
The operation tried to access a nonexistent stream.
- TrimmedDataAccessException
The operation attempted to read past the oldest stream record in a shard.
In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException if:
You request a shard iterator with a sequence number older than the trim point (24 hours).
You obtain a shard iterator, but before you use the iterator in a
request, a stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access a record that no longer exists.GetRecords
- See Also
GetShardIteratorAsync(GetShardIteratorRequest, CancellationToken)
Returns a shard iterator. A shard iterator provides information about how to retrieve the stream records from within a shard. Use the shard iterator in a subsequent
GetRecords
request to read the stream records from the shard.
note
A shard iterator expires 15 minutes after it is returned to the requester.
Task<GetShardIteratorResponse> GetShardIteratorAsync(GetShardIteratorRequest request, CancellationToken cancellationToken = default)
Parameters
request
GetShardIteratorRequestContainer for the necessary parameters to execute the GetShardIterator service method.
cancellationToken
CancellationTokenA cancellation token that can be used by other objects or threads to receive notice of cancellation.
Returns
- Task<GetShardIteratorResponse>
The response from the GetShardIterator service method, as returned by DynamoDBStreams.
Exceptions
- InternalServerErrorException
An error occurred on the server side.
- ResourceNotFoundException
The operation tried to access a nonexistent stream.
- TrimmedDataAccessException
The operation attempted to read past the oldest stream record in a shard.
In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException if:
You request a shard iterator with a sequence number older than the trim point (24 hours).
You obtain a shard iterator, but before you use the iterator in a
request, a stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access a record that no longer exists.GetRecords
- See Also
ListStreamsAsync(ListStreamsRequest, CancellationToken)
Returns an array of stream ARNs associated with the current account and endpoint. If the
TableName
parameter is present, then ListStreams
will return only the streams ARNs for that table.
note
You can call
ListStreams
at a maximum rate of 5 times per second.
Task<ListStreamsResponse> ListStreamsAsync(ListStreamsRequest request, CancellationToken cancellationToken = default)
Parameters
request
ListStreamsRequestContainer for the necessary parameters to execute the ListStreams service method.
cancellationToken
CancellationTokenA cancellation token that can be used by other objects or threads to receive notice of cancellation.
Returns
- Task<ListStreamsResponse>
The response from the ListStreams service method, as returned by DynamoDBStreams.
Exceptions
- InternalServerErrorException
An error occurred on the server side.
- ResourceNotFoundException
The operation tried to access a nonexistent stream.
- See Also
ListStreamsAsync(CancellationToken)
Returns an array of stream ARNs associated with the current account and endpoint. If the
TableName
parameter is present, then ListStreams
will return only the streams ARNs for that table.
note
You can call
ListStreams
at a maximum rate of 5 times per second.
Task<ListStreamsResponse> ListStreamsAsync(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationTokenA cancellation token that can be used by other objects or threads to receive notice of cancellation.
Returns
- Task<ListStreamsResponse>
The response from the ListStreams service method, as returned by DynamoDBStreams.
Exceptions
- InternalServerErrorException
An error occurred on the server side.
- ResourceNotFoundException
The operation tried to access a nonexistent stream.
- See Also