/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the dynamodbstreams-2012-08-10.normal.json service model.
*/
using System;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.DynamoDBv2.Model;
namespace Amazon.DynamoDBv2
{
///
/// Interface for accessing DynamoDBStreams
///
/// 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.
///
///
public partial interface IAmazonDynamoDBStreams : IAmazonService, IDisposable
{
#region DescribeStream
///
/// 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.
///
///
/// The Amazon Resource Name (ARN) for the stream.
///
/// The response from the DescribeStream service method, as returned by DynamoDBStreams.
///
/// An error occurred on the server side.
///
///
/// The operation tried to access a nonexistent table or index. The resource might not
/// be specified correctly, or its status might not be ACTIVE
.
///
/// REST API Reference for DescribeStream Operation
DescribeStreamResponse DescribeStream(string streamArn);
///
/// 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.
///
///
/// Container for the necessary parameters to execute the DescribeStream service method.
///
/// The response from the DescribeStream service method, as returned by DynamoDBStreams.
///
/// An error occurred on the server side.
///
///
/// The operation tried to access a nonexistent table or index. The resource might not
/// be specified correctly, or its status might not be ACTIVE
.
///
/// REST API Reference for DescribeStream Operation
DescribeStreamResponse DescribeStream(DescribeStreamRequest request);
///
/// Initiates the asynchronous execution of the DescribeStream operation.
///
///
/// Container for the necessary parameters to execute the DescribeStream operation on AmazonDynamoDBStreamsClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeStream
/// operation.
/// REST API Reference for DescribeStream Operation
IAsyncResult BeginDescribeStream(DescribeStreamRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the DescribeStream operation.
///
///
/// The IAsyncResult returned by the call to BeginDescribeStream.
///
/// Returns a DescribeStreamResult from DynamoDBStreams.
/// REST API Reference for DescribeStream Operation
DescribeStreamResponse EndDescribeStream(IAsyncResult asyncResult);
#endregion
#region GetRecords
///
/// 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.
///
///
///
/// A shard iterator that was retrieved from a previous GetShardIterator operation. This iterator can be used to access the stream records in this shard.
///
/// The response from the GetRecords service method, as returned by DynamoDBStreams.
///
/// 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.
///
///
/// An error occurred on the server side.
///
///
/// 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.
///
///
///
/// The operation tried to access a nonexistent table or index. The resource might not
/// be specified correctly, or its status might not be ACTIVE
.
///
///
/// 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.
///
///
///
/// REST API Reference for GetRecords Operation
GetRecordsResponse GetRecords(string shardIterator);
///
/// 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.
///
///
///
/// Container for the necessary parameters to execute the GetRecords service method.
///
/// The response from the GetRecords service method, as returned by DynamoDBStreams.
///
/// 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.
///
///
/// An error occurred on the server side.
///
///
/// 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.
///
///
///
/// The operation tried to access a nonexistent table or index. The resource might not
/// be specified correctly, or its status might not be ACTIVE
.
///
///
/// 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.
///
///
///
/// REST API Reference for GetRecords Operation
GetRecordsResponse GetRecords(GetRecordsRequest request);
///
/// Initiates the asynchronous execution of the GetRecords operation.
///
///
/// Container for the necessary parameters to execute the GetRecords operation on AmazonDynamoDBStreamsClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetRecords
/// operation.
/// REST API Reference for GetRecords Operation
IAsyncResult BeginGetRecords(GetRecordsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetRecords operation.
///
///
/// The IAsyncResult returned by the call to BeginGetRecords.
///
/// Returns a GetRecordsResult from DynamoDBStreams.
/// REST API Reference for GetRecords Operation
GetRecordsResponse EndGetRecords(IAsyncResult asyncResult);
#endregion
#region GetShardIterator
///
/// 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.
///
///
///
/// Container for the necessary parameters to execute the GetShardIterator service method.
///
/// The response from the GetShardIterator service method, as returned by DynamoDBStreams.
///
/// An error occurred on the server side.
///
///
/// The operation tried to access a nonexistent table or index. The resource might not
/// be specified correctly, or its status might not be ACTIVE
.
///
///
/// 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.
///
///
///
/// REST API Reference for GetShardIterator Operation
GetShardIteratorResponse GetShardIterator(GetShardIteratorRequest request);
///
/// Initiates the asynchronous execution of the GetShardIterator operation.
///
///
/// Container for the necessary parameters to execute the GetShardIterator operation on AmazonDynamoDBStreamsClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetShardIterator
/// operation.
/// REST API Reference for GetShardIterator Operation
IAsyncResult BeginGetShardIterator(GetShardIteratorRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetShardIterator operation.
///
///
/// The IAsyncResult returned by the call to BeginGetShardIterator.
///
/// Returns a GetShardIteratorResult from DynamoDBStreams.
/// REST API Reference for GetShardIterator Operation
GetShardIteratorResponse EndGetShardIterator(IAsyncResult asyncResult);
#endregion
#region ListStreams
///
/// 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.
///
///
///
///
/// The response from the ListStreams service method, as returned by DynamoDBStreams.
///
/// An error occurred on the server side.
///
///
/// The operation tried to access a nonexistent table or index. The resource might not
/// be specified correctly, or its status might not be ACTIVE
.
///
/// REST API Reference for ListStreams Operation
ListStreamsResponse ListStreams();
///
/// 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.
///
///
///
/// Container for the necessary parameters to execute the ListStreams service method.
///
/// The response from the ListStreams service method, as returned by DynamoDBStreams.
///
/// An error occurred on the server side.
///
///
/// The operation tried to access a nonexistent table or index. The resource might not
/// be specified correctly, or its status might not be ACTIVE
.
///
/// REST API Reference for ListStreams Operation
ListStreamsResponse ListStreams(ListStreamsRequest request);
///
/// Initiates the asynchronous execution of the ListStreams operation.
///
///
/// Container for the necessary parameters to execute the ListStreams operation on AmazonDynamoDBStreamsClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListStreams
/// operation.
/// REST API Reference for ListStreams Operation
IAsyncResult BeginListStreams(ListStreamsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListStreams operation.
///
///
/// The IAsyncResult returned by the call to BeginListStreams.
///
/// Returns a ListStreamsResult from DynamoDBStreams.
/// REST API Reference for ListStreams Operation
ListStreamsResponse EndListStreams(IAsyncResult asyncResult);
#endregion
}
}