public interface AmazonDynamoDBStreams
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.
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)
Overrides the default endpoint for this client
("https://streams.dynamodb.us-east-1.amazonaws.com").
|
void |
setRegion(Region region)
An alternative to
setEndpoint(String) , sets
the regional endpoint for this client's service calls. |
void |
shutdown()
Shuts down this client object, releasing any resources that might be held
open.
|
void setEndpoint(String endpoint)
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: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= 3912
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.void setRegion(Region region)
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, the that shared 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 stream.InternalServerErrorException
- An error occurred on the server side.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.
getRecordsRequest
- Represents the input of a GetRecords operation.ResourceNotFoundException
- The operation tried to access a nonexistent stream.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.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:
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 stream.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:
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 stream.InternalServerErrorException
- An error occurred on the server side.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.Copyright © 2016. All rights reserved.