/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.dynamodbv2; import javax.annotation.Generated; import com.amazonaws.services.dynamodbv2.model.*; /** * Interface for accessing Amazon DynamoDB Streams asynchronously. Each asynchronous method will return a Java Future * object representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive * notification when an asynchronous operation completes. *

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.dynamodbv2.AbstractAmazonDynamoDBStreamsAsync} instead. *

*

* 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. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonDynamoDBStreamsAsync extends AmazonDynamoDBStreams { /** *

* 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 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. *

* * @param describeStreamRequest * Represents the input of a DescribeStream operation. * @return A Java Future containing the result of the DescribeStream operation returned by the service. * @sample AmazonDynamoDBStreamsAsync.DescribeStream * @see AWS API Documentation */ java.util.concurrent.Future describeStreamAsync(DescribeStreamRequest describeStreamRequest); /** *

* 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 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. *

* * @param describeStreamRequest * Represents the input of a DescribeStream operation. * @param 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. * @return A Java Future containing the result of the DescribeStream operation returned by the service. * @sample AmazonDynamoDBStreamsAsyncHandler.DescribeStream * @see AWS API Documentation */ java.util.concurrent.Future describeStreamAsync(DescribeStreamRequest describeStreamRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 1000 stream records, whichever comes first. *

*
* * @param getRecordsRequest * Represents the input of a GetRecords operation. * @return A Java Future containing the result of the GetRecords operation returned by the service. * @sample AmazonDynamoDBStreamsAsync.GetRecords * @see AWS * API Documentation */ java.util.concurrent.Future getRecordsAsync(GetRecordsRequest getRecordsRequest); /** *

* 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 1000 stream records, whichever comes first. *

*
* * @param getRecordsRequest * Represents the input of a GetRecords operation. * @param 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. * @return A Java Future containing the result of the GetRecords operation returned by the service. * @sample AmazonDynamoDBStreamsAsyncHandler.GetRecords * @see AWS * API Documentation */ java.util.concurrent.Future getRecordsAsync(GetRecordsRequest getRecordsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*
* * @param getShardIteratorRequest * Represents the input of a GetShardIterator operation. * @return A Java Future containing the result of the GetShardIterator operation returned by the service. * @sample AmazonDynamoDBStreamsAsync.GetShardIterator * @see AWS API Documentation */ java.util.concurrent.Future getShardIteratorAsync(GetShardIteratorRequest getShardIteratorRequest); /** *

* 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. *

*
* * @param getShardIteratorRequest * Represents the input of a GetShardIterator operation. * @param 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. * @return A Java Future containing the result of the GetShardIterator operation returned by the service. * @sample AmazonDynamoDBStreamsAsyncHandler.GetShardIterator * @see AWS API Documentation */ java.util.concurrent.Future getShardIteratorAsync(GetShardIteratorRequest getShardIteratorRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*
* * @param listStreamsRequest * Represents the input of a ListStreams operation. * @return A Java Future containing the result of the ListStreams operation returned by the service. * @sample AmazonDynamoDBStreamsAsync.ListStreams * @see AWS * API Documentation */ java.util.concurrent.Future listStreamsAsync(ListStreamsRequest listStreamsRequest); /** *

* 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. *

*
* * @param listStreamsRequest * Represents the input of a ListStreams operation. * @param 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. * @return A Java Future containing the result of the ListStreams operation returned by the service. * @sample AmazonDynamoDBStreamsAsyncHandler.ListStreams * @see AWS * API Documentation */ java.util.concurrent.Future listStreamsAsync(ListStreamsRequest listStreamsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); }