@Generated(value="com.amazonaws:aws-java-sdk-code-generator") public interface AmazonDynamoDBStreams
Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
AbstractAmazonDynamoDBStreams
instead.
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.
Modifier and Type | Field and Description |
---|---|
static String |
ENDPOINT_PREFIX
The region metadata service name for computing region endpoints.
|
Modifier and Type | Method and Description |
---|---|
DescribeStreamResult |
describeStream(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.
|
ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful request, typically used for debugging issues
where a service isn't acting as expected.
|
GetRecordsResult |
getRecords(GetRecordsRequest getRecordsRequest)
Retrieves the stream records from a given shard.
|
GetShardIteratorResult |
getShardIterator(GetShardIteratorRequest getShardIteratorRequest)
Returns a shard iterator.
|
ListStreamsResult |
listStreams(ListStreamsRequest listStreamsRequest)
Returns an array of stream ARNs associated with the current account and endpoint.
|
void |
setEndpoint(String endpoint)
Deprecated.
use
AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration) for
example:
builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion)); |
void |
setRegion(Region region)
Deprecated.
use
AwsClientBuilder#setRegion(String) |
void |
shutdown()
Shuts down this client object, releasing any resources that might be held open.
|
static final String ENDPOINT_PREFIX
@Deprecated void setEndpoint(String endpoint)
AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)
for
example:
builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));
Callers can pass in just the endpoint (ex: "streams.dynamodb.us-east-1.amazonaws.com") or a full URL, including
the protocol (ex: "https://streams.dynamodb.us-east-1.amazonaws.com"). If the protocol is not specified here, the
default protocol from this client's ClientConfiguration
will be used, which by default is HTTPS.
For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- choose-endpoint
This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
endpoint
- The endpoint (ex: "streams.dynamodb.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
"https://streams.dynamodb.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will
communicate with.@Deprecated void setRegion(Region region)
AwsClientBuilder#setRegion(String)
setEndpoint(String)
, sets the regional endpoint for this client's
service calls. Callers can use this method to control which AWS region they want to work with.
By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
ClientConfiguration
supplied at construction.
This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
region
- The region this client will communicate with. See Region.getRegion(com.amazonaws.regions.Regions)
for accessing a given region. Must not be null and must be a region where the service is available.Region.getRegion(com.amazonaws.regions.Regions)
,
Region.createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
,
Region.isServiceSupported(String)
DescribeStreamResult describeStream(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.
describeStreamRequest
- Represents the input of a DescribeStream
operation.ResourceNotFoundException
- The operation tried to access a nonexistent table or index. The resource might not be specified
correctly, or its status might not be ACTIVE
.InternalServerErrorException
- An error occurred on the server side.AmazonDynamoDBStreams client = AmazonDynamoDBStreamsClientBuilder.standard().build(); DescribeStreamRequest request = new DescribeStreamRequest() .withStreamArn("arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252"); DescribeStreamResult response = client.describeStream(request);
GetRecordsResult getRecords(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.
getRecordsRequest
- Represents the input of a GetRecords
operation.ResourceNotFoundException
- The operation tried to access a nonexistent table or index. The resource might not be specified
correctly, or its status might not be ACTIVE
.LimitExceededException
- There is no limit to the number of daily on-demand backups that can be taken.
For most purposes, up to 500 simultaneous table operations are allowed per account. These operations
include CreateTable
, UpdateTable
, DeleteTable
,
UpdateTimeToLive
, RestoreTableFromBackup
, and
RestoreTableToPointInTime
.
When you are creating a table with one or more secondary indexes, you can have up to 250 such requests running at a time. However, if the table or index specifications are complex, then DynamoDB might temporarily reduce the number of concurrent operations.
When importing into DynamoDB, up to 50 simultaneous import table operations are allowed per account.
There is a soft account quota of 2,500 tables.
GetRecords was called with a value of more than 1000 for the limit request parameter.
More than 2 processes are reading from the same streams shard at the same time. Exceeding this limit may result in request throttling.
InternalServerErrorException
- An error occurred on the server side.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 GetShardIterator
action.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 GetRecords
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.
AmazonDynamoDBStreams client = AmazonDynamoDBStreamsClientBuilder.standard().build(); GetRecordsRequest request = new GetRecordsRequest() .withShardIterator("arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252|1|AAAAAAAAAAEvJp6D+zaQ......"); GetRecordsResult response = client.getRecords(request);
GetShardIteratorResult getShardIterator(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.
getShardIteratorRequest
- Represents the input of a GetShardIterator
operation.ResourceNotFoundException
- The operation tried to access a nonexistent table or index. The resource might not be specified
correctly, or its status might not be ACTIVE
.InternalServerErrorException
- An error occurred on the server side.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 GetRecords
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.
AmazonDynamoDBStreams client = AmazonDynamoDBStreamsClientBuilder.standard().build(); GetShardIteratorRequest request = new GetShardIteratorRequest() .withStreamArn("arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252") .withShardId("00000001414576573621-f55eea83").withShardIteratorType("TRIM_HORIZON"); GetShardIteratorResult response = client.getShardIterator(request);
ListStreamsResult listStreams(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.
listStreamsRequest
- Represents the input of a ListStreams
operation.ResourceNotFoundException
- The operation tried to access a nonexistent table or index. The resource might not be specified
correctly, or its status might not be ACTIVE
.InternalServerErrorException
- An error occurred on the server side.AmazonDynamoDBStreams client = AmazonDynamoDBStreamsClientBuilder.standard().build(); ListStreamsRequest request = new ListStreamsRequest(); ListStreamsResult response = client.listStreams(request);
void shutdown()
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.
request
- The originally executed request.