Class AmazonDynamoDBStreamsClient
- Namespace
- Amazon.DynamoDBv2
- Assembly
- AWSSDK.DynamoDBv2.dll
Implementation 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 class AmazonDynamoDBStreamsClient : AmazonServiceClient, IAmazonDynamoDBStreams, IAmazonService, IDisposable
- Inheritance
-
AmazonDynamoDBStreamsClient
- Implements
-
IAmazonService
Constructors
AmazonDynamoDBStreamsClient()
Constructs AmazonDynamoDBStreamsClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
Example App.config with credentials set.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="AWSProfileName" value="AWS Default"/>
</appSettings>
</configuration>
public AmazonDynamoDBStreamsClient()
AmazonDynamoDBStreamsClient(AmazonDynamoDBStreamsConfig)
Constructs AmazonDynamoDBStreamsClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
Example App.config with credentials set.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="AWSProfileName" value="AWS Default"/>
</appSettings>
</configuration>
public AmazonDynamoDBStreamsClient(AmazonDynamoDBStreamsConfig config)
Parameters
configAmazonDynamoDBStreamsConfigThe AmazonDynamoDBStreamsClient Configuration Object
AmazonDynamoDBStreamsClient(RegionEndpoint)
Constructs AmazonDynamoDBStreamsClient with the credentials loaded from the application's default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
Example App.config with credentials set.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="AWSProfileName" value="AWS Default"/>
</appSettings>
</configuration>
public AmazonDynamoDBStreamsClient(RegionEndpoint region)
Parameters
regionRegionEndpointThe region to connect.
AmazonDynamoDBStreamsClient(AWSCredentials)
Constructs AmazonDynamoDBStreamsClient with AWS Credentials
public AmazonDynamoDBStreamsClient(AWSCredentials credentials)
Parameters
credentialsAWSCredentialsAWS Credentials
AmazonDynamoDBStreamsClient(AWSCredentials, AmazonDynamoDBStreamsConfig)
Constructs AmazonDynamoDBStreamsClient with AWS Credentials and an AmazonDynamoDBStreamsClient Configuration object.
public AmazonDynamoDBStreamsClient(AWSCredentials credentials, AmazonDynamoDBStreamsConfig clientConfig)
Parameters
credentialsAWSCredentialsAWS Credentials
clientConfigAmazonDynamoDBStreamsConfigThe AmazonDynamoDBStreamsClient Configuration Object
AmazonDynamoDBStreamsClient(AWSCredentials, RegionEndpoint)
Constructs AmazonDynamoDBStreamsClient with AWS Credentials
public AmazonDynamoDBStreamsClient(AWSCredentials credentials, RegionEndpoint region)
Parameters
credentialsAWSCredentialsAWS Credentials
regionRegionEndpointThe region to connect.
AmazonDynamoDBStreamsClient(string, string)
Constructs AmazonDynamoDBStreamsClient with AWS Access Key ID and AWS Secret Key
public AmazonDynamoDBStreamsClient(string awsAccessKeyId, string awsSecretAccessKey)
Parameters
AmazonDynamoDBStreamsClient(string, string, AmazonDynamoDBStreamsConfig)
Constructs AmazonDynamoDBStreamsClient with AWS Access Key ID, AWS Secret Key and an AmazonDynamoDBStreamsClient Configuration object.
public AmazonDynamoDBStreamsClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonDynamoDBStreamsConfig clientConfig)
Parameters
awsAccessKeyIdstringAWS Access Key ID
awsSecretAccessKeystringAWS Secret Access Key
clientConfigAmazonDynamoDBStreamsConfigThe AmazonDynamoDBStreamsClient Configuration Object
AmazonDynamoDBStreamsClient(string, string, RegionEndpoint)
Constructs AmazonDynamoDBStreamsClient with AWS Access Key ID and AWS Secret Key
public AmazonDynamoDBStreamsClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
Parameters
awsAccessKeyIdstringAWS Access Key ID
awsSecretAccessKeystringAWS Secret Access Key
regionRegionEndpointThe region to connect.
AmazonDynamoDBStreamsClient(string, string, string)
Constructs AmazonDynamoDBStreamsClient with AWS Access Key ID and AWS Secret Key
public AmazonDynamoDBStreamsClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
Parameters
awsAccessKeyIdstringAWS Access Key ID
awsSecretAccessKeystringAWS Secret Access Key
awsSessionTokenstringAWS Session Token
AmazonDynamoDBStreamsClient(string, string, string, AmazonDynamoDBStreamsConfig)
Constructs AmazonDynamoDBStreamsClient with AWS Access Key ID, AWS Secret Key and an AmazonDynamoDBStreamsClient Configuration object.
public AmazonDynamoDBStreamsClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonDynamoDBStreamsConfig clientConfig)
Parameters
awsAccessKeyIdstringAWS Access Key ID
awsSecretAccessKeystringAWS Secret Access Key
awsSessionTokenstringAWS Session Token
clientConfigAmazonDynamoDBStreamsConfigThe AmazonDynamoDBStreamsClient Configuration Object
AmazonDynamoDBStreamsClient(string, string, string, RegionEndpoint)
Constructs AmazonDynamoDBStreamsClient with AWS Access Key ID and AWS Secret Key
public AmazonDynamoDBStreamsClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
Parameters
awsAccessKeyIdstringAWS Access Key ID
awsSecretAccessKeystringAWS Secret Access Key
awsSessionTokenstringAWS Session Token
regionRegionEndpointThe region to connect.
Properties
ServiceMetadata
Capture metadata for the service.
protected override IServiceMetadata ServiceMetadata { get; }
Property Value
- IServiceMetadata
Methods
CreateSigner()
Creates the signer for the service.
protected override AbstractAWSSigner CreateSigner()
Returns
- AbstractAWSSigner
CustomizeRuntimePipeline(RuntimePipeline)
Customizes the runtime pipeline.
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
Parameters
pipelineRuntimePipelineRuntime pipeline for the current client.
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.
public virtual Task<DescribeStreamResponse> DescribeStreamAsync(DescribeStreamRequest request, CancellationToken cancellationToken = default)
Parameters
requestDescribeStreamRequestContainer for the necessary parameters to execute the DescribeStream service method.
cancellationTokenCancellationTokenA 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.
public virtual Task<DescribeStreamResponse> DescribeStreamAsync(string streamArn, CancellationToken cancellationToken = default)
Parameters
streamArnstringThe Amazon Resource Name (ARN) for the stream.
cancellationTokenCancellationTokenA 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
Dispose(bool)
Disposes the service client.
protected override void Dispose(bool disposing)
Parameters
disposingbool
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.
public virtual Task<GetRecordsResponse> GetRecordsAsync(GetRecordsRequest request, CancellationToken cancellationToken = default)
Parameters
requestGetRecordsRequestContainer for the necessary parameters to execute the GetRecords service method.
cancellationTokenCancellationTokenA 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.
public virtual Task<GetRecordsResponse> GetRecordsAsync(string shardIterator, CancellationToken cancellationToken = default)
Parameters
shardIteratorstringA shard iterator that was retrieved from a previous GetShardIterator operation. This iterator can be used to access the stream records in this shard.
cancellationTokenCancellationTokenA 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.
public virtual Task<GetShardIteratorResponse> GetShardIteratorAsync(GetShardIteratorRequest request, CancellationToken cancellationToken = default)
Parameters
requestGetShardIteratorRequestContainer for the necessary parameters to execute the GetShardIterator service method.
cancellationTokenCancellationTokenA 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.
public virtual Task<ListStreamsResponse> ListStreamsAsync(ListStreamsRequest request, CancellationToken cancellationToken = default)
Parameters
requestListStreamsRequestContainer for the necessary parameters to execute the ListStreams service method.
cancellationTokenCancellationTokenA 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.
public virtual Task<ListStreamsResponse> ListStreamsAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenA 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