Interface AmazonDynamoDBStreams

    • Method Detail

      • setEndpoint

        void setEndpoint​(String endpoint)
        Overrides the default endpoint for this client ("https://streams.dynamodb.us-east-1.amazonaws.com"). Callers can use this method to control which AWS region they want to work with.

        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.

        Parameters:
        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.
      • describeStream

        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.

        Parameters:
        describeStreamRequest - Represents the input of a DescribeStream operation.
        Returns:
        Result of the DescribeStream operation returned by the service.
        Throws:
        ResourceNotFoundException - The operation tried to access a nonexistent stream.
        InternalServerErrorException - An error occurred on the server side.
      • getRecords

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

        Parameters:
        getRecordsRequest - Represents the input of a GetRecords operation.
        Returns:
        Result of the GetRecords operation returned by the service.
        Throws:
        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:

        • 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.
      • getShardIterator

        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.

        Parameters:
        getShardIteratorRequest - Represents the input of a GetShardIterator operation.
        Returns:
        Result of the GetShardIterator operation returned by the service.
        Throws:
        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:

        • 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.
      • listStreams

        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.

        Parameters:
        listStreamsRequest - Represents the input of a ListStreams operation.
        Returns:
        Result of the ListStreams operation returned by the service.
        Throws:
        ResourceNotFoundException - The operation tried to access a nonexistent stream.
        InternalServerErrorException - An error occurred on the server side.
      • shutdown

        void shutdown()
        Shuts down this client object, releasing any resources that might be held open. This is an optional method, and callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client has been shutdown, it should not be used to make any more requests.
      • getCachedResponseMetadata

        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. This data isn't considered part of the result data returned by an operation, so it's available through this separate, diagnostic interface.

        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.

        Parameters:
        request - The originally executed request.
        Returns:
        The response metadata for the specified request, or null if none is available.