Class AmazonDynamoDBStreamsAsyncClient
- java.lang.Object
-
- com.amazonaws.AmazonWebServiceClient
-
- com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreamsClient
-
- com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreamsAsyncClient
-
- All Implemented Interfaces:
AmazonDynamoDBStreams
,AmazonDynamoDBStreamsAsync
public class AmazonDynamoDBStreamsAsyncClient extends AmazonDynamoDBStreamsClient implements AmazonDynamoDBStreamsAsync
Interface for accessing Amazon DynamoDB Streams asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept anAsyncHandler
can be used to receive notification when an asynchronous operation completes.Amazon DynamoDB Streams This is the Amazon DynamoDB Streams API Reference. This guide describes the low-level API actions for accessing streams and processing stream records. For information about application development with DynamoDB Streams, see the Amazon DynamoDB Developer Guide.
Note that this document is intended for use with the following DynamoDB documentation:
The following are short descriptions of each low-level DynamoDB Streams API action, organized by function.
-
DescribeStream - Returns detailed information about a particular stream.
-
GetRecords - Retrieves the stream records from within a shard.
-
GetShardIterator - Returns information on how to retrieve the streams record from a shard with a given shard ID.
-
ListStreams - Returns a list of all the streams associated with the current AWS account and endpoint.
-
-
Field Summary
-
Fields inherited from class com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreamsClient
configFactory
-
Fields inherited from class com.amazonaws.AmazonWebServiceClient
client, clientConfiguration, endpoint, LOGGING_AWS_REQUEST_METRIC, requestHandler2s, timeOffset
-
-
Constructor Summary
Constructors Constructor Description AmazonDynamoDBStreamsAsyncClient()
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams.AmazonDynamoDBStreamsAsyncClient(AWSCredentials awsCredentials)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials.AmazonDynamoDBStreamsAsyncClient(AWSCredentialsProvider awsCredentialsProvider)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials provider.AmazonDynamoDBStreamsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the provided AWS account credentials provider and client configuration options.AmazonDynamoDBStreamsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials provider, executor service, and client configuration options.AmazonDynamoDBStreamsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials provider and executor service.AmazonDynamoDBStreamsAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials, executor service, and client configuration options.AmazonDynamoDBStreamsAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials and executor service.AmazonDynamoDBStreamsAsyncClient(ClientConfiguration clientConfiguration)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Future<DescribeStreamResult>
describeStreamAsync(DescribeStreamRequest request)
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.Future<DescribeStreamResult>
describeStreamAsync(DescribeStreamRequest request, AsyncHandler<DescribeStreamRequest,DescribeStreamResult> asyncHandler)
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.ExecutorService
getExecutorService()
Returns the executor service used by this client to execute async requests.Future<GetRecordsResult>
getRecordsAsync(GetRecordsRequest request)
Retrieves the stream records from a given shard.Future<GetRecordsResult>
getRecordsAsync(GetRecordsRequest request, AsyncHandler<GetRecordsRequest,GetRecordsResult> asyncHandler)
Retrieves the stream records from a given shard.Future<GetShardIteratorResult>
getShardIteratorAsync(GetShardIteratorRequest request)
Returns a shard iterator.Future<GetShardIteratorResult>
getShardIteratorAsync(GetShardIteratorRequest request, AsyncHandler<GetShardIteratorRequest,GetShardIteratorResult> asyncHandler)
Returns a shard iterator.Future<ListStreamsResult>
listStreamsAsync(ListStreamsRequest request)
Returns an array of stream ARNs associated with the current account and endpoint.Future<ListStreamsResult>
listStreamsAsync(ListStreamsRequest request, AsyncHandler<ListStreamsRequest,ListStreamsResult> asyncHandler)
Returns an array of stream ARNs associated with the current account and endpoint.void
shutdown()
Shuts down the client, releasing all managed resources.-
Methods inherited from class com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreamsClient
describeStream, getCachedResponseMetadata, getRecords, getShardIterator, listStreams
-
Methods inherited from class com.amazonaws.AmazonWebServiceClient
addRequestHandler, addRequestHandler, beforeMarshalling, configureRegion, createExecutionContext, createExecutionContext, createExecutionContext, endClientExecution, endClientExecution, findRequestMetricCollector, getEndpointPrefix, getRequestMetricsCollector, getServiceAbbreviation, getServiceName, getServiceNameIntern, getSigner, getSignerByURI, getSignerRegionOverride, getTimeOffset, isProfilingEnabled, isRequestMetricsEnabled, removeRequestHandler, removeRequestHandler, requestMetricCollector, setEndpoint, setEndpointPrefix, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, withEndpoint, withRegion, withRegion, withTimeOffset
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams
describeStream, getCachedResponseMetadata, getRecords, getShardIterator, listStreams, setEndpoint, setRegion
-
-
-
-
Constructor Detail
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient()
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams. A credentials provider chain will be used that searches for credentials in this order:- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
- Instance profile credentials delivered through the Amazon EC2 metadata service
Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient(ClientConfiguration clientConfiguration)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams. A credentials provider chain will be used that searches for credentials in this order:- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
- Instance profile credentials delivered through the Amazon EC2 metadata service
Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via
ClientConfiguration.getMaxConnections()
.- Parameters:
clientConfiguration
- The client configuration options controlling how this client connects to Amazon DynamoDB Streams (ex: proxy settings, retry counts, etc).- See Also:
DefaultAWSCredentialsProviderChain
,Executors.newFixedThreadPool(int)
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient(AWSCredentials awsCredentials)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials.Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).
- Parameters:
awsCredentials
- The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.- See Also:
Executors.newFixedThreadPool(int)
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials and executor service. Default client settings will be used.- Parameters:
awsCredentials
- The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.executorService
- The executor service by which all asynchronous requests will be executed.
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials, executor service, and client configuration options.- Parameters:
awsCredentials
- The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.clientConfiguration
- Client configuration options (ex: max retry limit, proxy settings, etc).executorService
- The executor service by which all asynchronous requests will be executed.
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient(AWSCredentialsProvider awsCredentialsProvider)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials provider. Default client settings will be used.Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).
- Parameters:
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to authenticate requests with AWS services.- See Also:
Executors.newFixedThreadPool(int)
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the provided AWS account credentials provider and client configuration options.Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via
ClientConfiguration.getMaxConnections()
.- Parameters:
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to authenticate requests with AWS services.clientConfiguration
- Client configuration options (ex: max retry limit, proxy settings, etc).- See Also:
DefaultAWSCredentialsProviderChain
,Executors.newFixedThreadPool(int)
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials provider and executor service. Default client settings will be used.- Parameters:
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to authenticate requests with AWS services.executorService
- The executor service by which all asynchronous requests will be executed.
-
AmazonDynamoDBStreamsAsyncClient
public AmazonDynamoDBStreamsAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on Amazon DynamoDB Streams using the specified AWS account credentials provider, executor service, and client configuration options.- Parameters:
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to authenticate requests with AWS services.clientConfiguration
- Client configuration options (ex: max retry limit, proxy settings, etc).executorService
- The executor service by which all asynchronous requests will be executed.
-
-
Method Detail
-
getExecutorService
public ExecutorService getExecutorService()
Returns the executor service used by this client to execute async requests.- Returns:
- The executor service used by this client to execute async requests.
-
describeStreamAsync
public Future<DescribeStreamResult> describeStreamAsync(DescribeStreamRequest request)
Description copied from interface:AmazonDynamoDBStreamsAsync
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.
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 theSequenceNumberRange
has aStartingSequenceNumber
but noEndingSequenceNumber
, then the shard is still open (able to receive more stream records). If bothStartingSequenceNumber
andEndingSequenceNumber
are present, the that shared is closed and can no longer receive more data.- Specified by:
describeStreamAsync
in interfaceAmazonDynamoDBStreamsAsync
- Parameters:
request
- Represents the input of a DescribeStream operation.- Returns:
- A Java Future containing the result of the DescribeStream operation returned by the service.
-
describeStreamAsync
public Future<DescribeStreamResult> describeStreamAsync(DescribeStreamRequest request, AsyncHandler<DescribeStreamRequest,DescribeStreamResult> asyncHandler)
Description copied from interface:AmazonDynamoDBStreamsAsync
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.
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 theSequenceNumberRange
has aStartingSequenceNumber
but noEndingSequenceNumber
, then the shard is still open (able to receive more stream records). If bothStartingSequenceNumber
andEndingSequenceNumber
are present, the that shared is closed and can no longer receive more data.- Specified by:
describeStreamAsync
in interfaceAmazonDynamoDBStreamsAsync
- Parameters:
request
- Represents the input of a DescribeStream operation.asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.- Returns:
- A Java Future containing the result of the DescribeStream operation returned by the service.
-
getRecordsAsync
public Future<GetRecordsResult> getRecordsAsync(GetRecordsRequest request)
Description copied from interface:AmazonDynamoDBStreamsAsync
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.GetRecords can retrieve a maximum of 1 MB of data or 2000 stream records, whichever comes first.- Specified by:
getRecordsAsync
in interfaceAmazonDynamoDBStreamsAsync
- Parameters:
request
- Represents the input of a GetRecords operation.- Returns:
- A Java Future containing the result of the GetRecords operation returned by the service.
-
getRecordsAsync
public Future<GetRecordsResult> getRecordsAsync(GetRecordsRequest request, AsyncHandler<GetRecordsRequest,GetRecordsResult> asyncHandler)
Description copied from interface:AmazonDynamoDBStreamsAsync
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.GetRecords can retrieve a maximum of 1 MB of data or 2000 stream records, whichever comes first.- Specified by:
getRecordsAsync
in interfaceAmazonDynamoDBStreamsAsync
- Parameters:
request
- Represents the input of a GetRecords operation.asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.- Returns:
- A Java Future containing the result of the GetRecords operation returned by the service.
-
getShardIteratorAsync
public Future<GetShardIteratorResult> getShardIteratorAsync(GetShardIteratorRequest request)
Description copied from interface:AmazonDynamoDBStreamsAsync
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.A shard iterator expires 15 minutes after it is returned to the requester.
- Specified by:
getShardIteratorAsync
in interfaceAmazonDynamoDBStreamsAsync
- Parameters:
request
- Represents the input of a GetShardIterator operation.- Returns:
- A Java Future containing the result of the GetShardIterator operation returned by the service.
-
getShardIteratorAsync
public Future<GetShardIteratorResult> getShardIteratorAsync(GetShardIteratorRequest request, AsyncHandler<GetShardIteratorRequest,GetShardIteratorResult> asyncHandler)
Description copied from interface:AmazonDynamoDBStreamsAsync
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.A shard iterator expires 15 minutes after it is returned to the requester.
- Specified by:
getShardIteratorAsync
in interfaceAmazonDynamoDBStreamsAsync
- Parameters:
request
- Represents the input of a GetShardIterator operation.asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.- Returns:
- A Java Future containing the result of the GetShardIterator operation returned by the service.
-
listStreamsAsync
public Future<ListStreamsResult> listStreamsAsync(ListStreamsRequest request)
Description copied from interface:AmazonDynamoDBStreamsAsync
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.You can call ListStreams at a maximum rate of 5 times per second.
- Specified by:
listStreamsAsync
in interfaceAmazonDynamoDBStreamsAsync
- Parameters:
request
- Represents the input of a ListStreams operation.- Returns:
- A Java Future containing the result of the ListStreams operation returned by the service.
-
listStreamsAsync
public Future<ListStreamsResult> listStreamsAsync(ListStreamsRequest request, AsyncHandler<ListStreamsRequest,ListStreamsResult> asyncHandler)
Description copied from interface:AmazonDynamoDBStreamsAsync
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.You can call ListStreams at a maximum rate of 5 times per second.
- Specified by:
listStreamsAsync
in interfaceAmazonDynamoDBStreamsAsync
- Parameters:
request
- Represents the input of a ListStreams operation.asyncHandler
- Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.- Returns:
- A Java Future containing the result of the ListStreams operation returned by the service.
-
shutdown
public void shutdown()
Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should callgetExecutorService().shutdown()
followed bygetExecutorService().awaitTermination()
prior to calling this method.- Specified by:
shutdown
in interfaceAmazonDynamoDBStreams
- Overrides:
shutdown
in classAmazonWebServiceClient
-
-