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
config
AmazonDynamoDBStreamsConfigThe 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
region
RegionEndpointThe region to connect.
AmazonDynamoDBStreamsClient(AWSCredentials)
Constructs AmazonDynamoDBStreamsClient with AWS Credentials
public AmazonDynamoDBStreamsClient(AWSCredentials credentials)
Parameters
credentials
AWSCredentialsAWS Credentials
AmazonDynamoDBStreamsClient(AWSCredentials, AmazonDynamoDBStreamsConfig)
Constructs AmazonDynamoDBStreamsClient with AWS Credentials and an AmazonDynamoDBStreamsClient Configuration object.
public AmazonDynamoDBStreamsClient(AWSCredentials credentials, AmazonDynamoDBStreamsConfig clientConfig)
Parameters
credentials
AWSCredentialsAWS Credentials
clientConfig
AmazonDynamoDBStreamsConfigThe AmazonDynamoDBStreamsClient Configuration Object
AmazonDynamoDBStreamsClient(AWSCredentials, RegionEndpoint)
Constructs AmazonDynamoDBStreamsClient with AWS Credentials
public AmazonDynamoDBStreamsClient(AWSCredentials credentials, RegionEndpoint region)
Parameters
credentials
AWSCredentialsAWS Credentials
region
RegionEndpointThe 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
awsAccessKeyId
stringAWS Access Key ID
awsSecretAccessKey
stringAWS Secret Access Key
clientConfig
AmazonDynamoDBStreamsConfigThe 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
awsAccessKeyId
stringAWS Access Key ID
awsSecretAccessKey
stringAWS Secret Access Key
region
RegionEndpointThe 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
awsAccessKeyId
stringAWS Access Key ID
awsSecretAccessKey
stringAWS Secret Access Key
awsSessionToken
stringAWS 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
awsAccessKeyId
stringAWS Access Key ID
awsSecretAccessKey
stringAWS Secret Access Key
awsSessionToken
stringAWS Session Token
clientConfig
AmazonDynamoDBStreamsConfigThe 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
awsAccessKeyId
stringAWS Access Key ID
awsSecretAccessKey
stringAWS Secret Access Key
awsSessionToken
stringAWS Session Token
region
RegionEndpointThe 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
pipeline
RuntimePipelineRuntime 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
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.
public virtual 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
Dispose(bool)
Disposes the service client.
protected override void Dispose(bool disposing)
Parameters
disposing
bool
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
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.
public virtual 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.
public virtual 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.
public virtual 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.
public virtual 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