/*
* 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.Threading;
using System.Threading.Tasks;
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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task DescribeStreamAsync(string streamArn, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task DescribeStreamAsync(DescribeStreamRequest request, CancellationToken cancellationToken = default(CancellationToken));
#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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task GetRecordsAsync(string shardIterator, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task GetRecordsAsync(GetRecordsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#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);
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task GetShardIteratorAsync(GetShardIteratorRequest request, CancellationToken cancellationToken = default(CancellationToken));
#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);
///
/// 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.
///
///
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task ListStreamsAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken));
///
/// 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.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// 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
Task ListStreamsAsync(ListStreamsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}