/* * Copyright 2010-2019 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. */ package com.amazonaws.services.kinesis.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Gets an Amazon Kinesis shard iterator. A shard iterator expires five minutes * after it is returned to the requester. *
** A shard iterator specifies the shard position from which to start reading * data records sequentially. The position is specified using the sequence * number of a data record in a shard. A sequence number is the identifier * associated with every record ingested in the stream, and is assigned when a * record is put into the stream. Each stream has one or more shards. *
*
* You must specify the shard iterator type. For example, you can set the
* ShardIteratorType
parameter to read exactly from the position
* denoted by a specific sequence number by using the
* AT_SEQUENCE_NUMBER
shard iterator type. Alternatively, the
* parameter can read right after the sequence number by using the
* AFTER_SEQUENCE_NUMBER
shard iterator type, using sequence
* numbers returned by earlier calls to PutRecord, PutRecords,
* GetRecords, or DescribeStream. In the request, you can specify
* the shard iterator type AT_TIMESTAMP
to read records from an
* arbitrary point in time, TRIM_HORIZON
to cause
* ShardIterator
to point to the last untrimmed record in the shard
* in the system (the oldest data record in the shard), or LATEST
* so that you always read the most recent data in the shard.
*
* When you read repeatedly from a stream, use a GetShardIterator request
* to get the first shard iterator for use in your first GetRecords
* request and for subsequent reads use the shard iterator returned by the
* GetRecords request in NextShardIterator
. A new shard
* iterator is returned by every GetRecords request in
* NextShardIterator
, which you use in the
* ShardIterator
parameter of the next GetRecords request.
*
* If a GetShardIterator request is made too often, you receive a
* ProvisionedThroughputExceededException
. For more information
* about throughput limits, see GetRecords, and Streams Limits in the Amazon Kinesis Data Streams Developer
* Guide.
*
* If the shard is closed, GetShardIterator returns a valid iterator for * the last sequence number of the shard. A shard can be closed as a result of * using SplitShard or MergeShards. *
** GetShardIterator has a limit of five transactions per second per * account per open shard. *
*/ public class GetShardIteratorRequest extends AmazonWebServiceRequest implements Serializable { /** ** The name of the Amazon Kinesis data stream. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*/
private String streamName;
/**
*
* The shard ID of the Kinesis Data Streams shard to get the iterator for. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*/
private String shardId;
/**
*
* Determines how the shard iterator is used to start reading data records * from the shard. *
** The following are the valid Amazon Kinesis shard iterator types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted by a
* specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by
* a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a specific time
* stamp, provided in the value Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in the shard in * the system, which is the oldest data record in the shard. *
** LATEST - Start reading just after the most recent record in the shard, so * that you always read the most recent data in the shard. *
*
* Constraints:
* Allowed Values: AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER,
* TRIM_HORIZON, LATEST, AT_TIMESTAMP
*/
private String shardIteratorType;
/**
*
* The sequence number of the data record in the shard from which to start * reading. Used with shard iterator type AT_SEQUENCE_NUMBER and * AFTER_SEQUENCE_NUMBER. *
*
* Constraints:
* Pattern: 0|([1-9]\d{0,128})
*/
private String startingSequenceNumber;
/**
*
* The time stamp of the data record from which to start reading. Used with
* shard iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date
* with precision in milliseconds. For example,
* 2016-04-04T19:58:46.480-00:00
or 1459799926.480
* . If a record with this exact time stamp does not exist, the iterator
* returned is for the next (later) record. If the time stamp is older than
* the current trim horizon, the iterator returned is for the oldest
* untrimmed data record (TRIM_HORIZON).
*
* The name of the Amazon Kinesis data stream. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*
* @return
* The name of the Amazon Kinesis data stream. *
*/ public String getStreamName() { return streamName; } /** ** The name of the Amazon Kinesis data stream. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*
* @param streamName
* The name of the Amazon Kinesis data stream. *
*/ public void setStreamName(String streamName) { this.streamName = streamName; } /** ** The name of the Amazon Kinesis data stream. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*
* @param streamName
* The name of the Amazon Kinesis data stream. *
* @return A reference to this updated object so that method calls can be * chained together. */ public GetShardIteratorRequest withStreamName(String streamName) { this.streamName = streamName; return this; } /** ** The shard ID of the Kinesis Data Streams shard to get the iterator for. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*
* @return
* The shard ID of the Kinesis Data Streams shard to get the * iterator for. *
*/ public String getShardId() { return shardId; } /** ** The shard ID of the Kinesis Data Streams shard to get the iterator for. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*
* @param shardId
* The shard ID of the Kinesis Data Streams shard to get the * iterator for. *
*/ public void setShardId(String shardId) { this.shardId = shardId; } /** ** The shard ID of the Kinesis Data Streams shard to get the iterator for. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*
* @param shardId
* The shard ID of the Kinesis Data Streams shard to get the * iterator for. *
* @return A reference to this updated object so that method calls can be * chained together. */ public GetShardIteratorRequest withShardId(String shardId) { this.shardId = shardId; return this; } /** ** Determines how the shard iterator is used to start reading data records * from the shard. *
** The following are the valid Amazon Kinesis shard iterator types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted by a
* specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by
* a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a specific time
* stamp, provided in the value Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in the shard in * the system, which is the oldest data record in the shard. *
** LATEST - Start reading just after the most recent record in the shard, so * that you always read the most recent data in the shard. *
*
* Constraints:
* Allowed Values: AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER,
* TRIM_HORIZON, LATEST, AT_TIMESTAMP
*
* @return
* Determines how the shard iterator is used to start reading data * records from the shard. *
** The following are the valid Amazon Kinesis shard iterator types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted by a
* specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position
* denoted by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a
* specific time stamp, provided in the value Timestamp
* .
*
* TRIM_HORIZON - Start reading at the last untrimmed record in the * shard in the system, which is the oldest data record in the * shard. *
** LATEST - Start reading just after the most recent record in the * shard, so that you always read the most recent data in the shard. *
** Determines how the shard iterator is used to start reading data records * from the shard. *
** The following are the valid Amazon Kinesis shard iterator types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted by a
* specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by
* a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a specific time
* stamp, provided in the value Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in the shard in * the system, which is the oldest data record in the shard. *
** LATEST - Start reading just after the most recent record in the shard, so * that you always read the most recent data in the shard. *
*
* Constraints:
* Allowed Values: AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER,
* TRIM_HORIZON, LATEST, AT_TIMESTAMP
*
* @param shardIteratorType
* Determines how the shard iterator is used to start reading * data records from the shard. *
** The following are the valid Amazon Kinesis shard iterator * types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted
* by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position
* denoted by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a
* specific time stamp, provided in the value
* Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in * the shard in the system, which is the oldest data record in * the shard. *
** LATEST - Start reading just after the most recent record in * the shard, so that you always read the most recent data in the * shard. *
** Determines how the shard iterator is used to start reading data records * from the shard. *
** The following are the valid Amazon Kinesis shard iterator types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted by a
* specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by
* a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a specific time
* stamp, provided in the value Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in the shard in * the system, which is the oldest data record in the shard. *
** LATEST - Start reading just after the most recent record in the shard, so * that you always read the most recent data in the shard. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER,
* TRIM_HORIZON, LATEST, AT_TIMESTAMP
*
* @param shardIteratorType
* Determines how the shard iterator is used to start reading * data records from the shard. *
** The following are the valid Amazon Kinesis shard iterator * types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted
* by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position
* denoted by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a
* specific time stamp, provided in the value
* Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in * the shard in the system, which is the oldest data record in * the shard. *
** LATEST - Start reading just after the most recent record in * the shard, so that you always read the most recent data in the * shard. *
** Determines how the shard iterator is used to start reading data records * from the shard. *
** The following are the valid Amazon Kinesis shard iterator types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted by a
* specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by
* a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a specific time
* stamp, provided in the value Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in the shard in * the system, which is the oldest data record in the shard. *
** LATEST - Start reading just after the most recent record in the shard, so * that you always read the most recent data in the shard. *
*
* Constraints:
* Allowed Values: AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER,
* TRIM_HORIZON, LATEST, AT_TIMESTAMP
*
* @param shardIteratorType
* Determines how the shard iterator is used to start reading * data records from the shard. *
** The following are the valid Amazon Kinesis shard iterator * types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted
* by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position
* denoted by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a
* specific time stamp, provided in the value
* Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in * the shard in the system, which is the oldest data record in * the shard. *
** LATEST - Start reading just after the most recent record in * the shard, so that you always read the most recent data in the * shard. *
** Determines how the shard iterator is used to start reading data records * from the shard. *
** The following are the valid Amazon Kinesis shard iterator types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted by a
* specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by
* a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a specific time
* stamp, provided in the value Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in the shard in * the system, which is the oldest data record in the shard. *
** LATEST - Start reading just after the most recent record in the shard, so * that you always read the most recent data in the shard. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Allowed Values: AT_SEQUENCE_NUMBER, AFTER_SEQUENCE_NUMBER,
* TRIM_HORIZON, LATEST, AT_TIMESTAMP
*
* @param shardIteratorType
* Determines how the shard iterator is used to start reading * data records from the shard. *
** The following are the valid Amazon Kinesis shard iterator * types: *
*
* AT_SEQUENCE_NUMBER - Start reading from the position denoted
* by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AFTER_SEQUENCE_NUMBER - Start reading right after the position
* denoted by a specific sequence number, provided in the value
* StartingSequenceNumber
.
*
* AT_TIMESTAMP - Start reading from the position denoted by a
* specific time stamp, provided in the value
* Timestamp
.
*
* TRIM_HORIZON - Start reading at the last untrimmed record in * the shard in the system, which is the oldest data record in * the shard. *
** LATEST - Start reading just after the most recent record in * the shard, so that you always read the most recent data in the * shard. *
** The sequence number of the data record in the shard from which to start * reading. Used with shard iterator type AT_SEQUENCE_NUMBER and * AFTER_SEQUENCE_NUMBER. *
*
* Constraints:
* Pattern: 0|([1-9]\d{0,128})
*
* @return
* The sequence number of the data record in the shard from which to * start reading. Used with shard iterator type AT_SEQUENCE_NUMBER * and AFTER_SEQUENCE_NUMBER. *
*/ public String getStartingSequenceNumber() { return startingSequenceNumber; } /** ** The sequence number of the data record in the shard from which to start * reading. Used with shard iterator type AT_SEQUENCE_NUMBER and * AFTER_SEQUENCE_NUMBER. *
*
* Constraints:
* Pattern: 0|([1-9]\d{0,128})
*
* @param startingSequenceNumber
* The sequence number of the data record in the shard from which * to start reading. Used with shard iterator type * AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER. *
*/ public void setStartingSequenceNumber(String startingSequenceNumber) { this.startingSequenceNumber = startingSequenceNumber; } /** ** The sequence number of the data record in the shard from which to start * reading. Used with shard iterator type AT_SEQUENCE_NUMBER and * AFTER_SEQUENCE_NUMBER. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Pattern: 0|([1-9]\d{0,128})
*
* @param startingSequenceNumber
* The sequence number of the data record in the shard from which * to start reading. Used with shard iterator type * AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER. *
* @return A reference to this updated object so that method calls can be * chained together. */ public GetShardIteratorRequest withStartingSequenceNumber(String startingSequenceNumber) { this.startingSequenceNumber = startingSequenceNumber; return this; } /** *
* The time stamp of the data record from which to start reading. Used with
* shard iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date
* with precision in milliseconds. For example,
* 2016-04-04T19:58:46.480-00:00
or 1459799926.480
* . If a record with this exact time stamp does not exist, the iterator
* returned is for the next (later) record. If the time stamp is older than
* the current trim horizon, the iterator returned is for the oldest
* untrimmed data record (TRIM_HORIZON).
*
* The time stamp of the data record from which to start reading.
* Used with shard iterator type AT_TIMESTAMP. A time stamp is the
* Unix epoch date with precision in milliseconds. For example,
* 2016-04-04T19:58:46.480-00:00
or
* 1459799926.480
. If a record with this exact time
* stamp does not exist, the iterator returned is for the next
* (later) record. If the time stamp is older than the current trim
* horizon, the iterator returned is for the oldest untrimmed data
* record (TRIM_HORIZON).
*
* The time stamp of the data record from which to start reading. Used with
* shard iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date
* with precision in milliseconds. For example,
* 2016-04-04T19:58:46.480-00:00
or 1459799926.480
* . If a record with this exact time stamp does not exist, the iterator
* returned is for the next (later) record. If the time stamp is older than
* the current trim horizon, the iterator returned is for the oldest
* untrimmed data record (TRIM_HORIZON).
*
* The time stamp of the data record from which to start reading.
* Used with shard iterator type AT_TIMESTAMP. A time stamp is
* the Unix epoch date with precision in milliseconds. For
* example, 2016-04-04T19:58:46.480-00:00
or
* 1459799926.480
. If a record with this exact time
* stamp does not exist, the iterator returned is for the next
* (later) record. If the time stamp is older than the current
* trim horizon, the iterator returned is for the oldest
* untrimmed data record (TRIM_HORIZON).
*
* The time stamp of the data record from which to start reading. Used with
* shard iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date
* with precision in milliseconds. For example,
* 2016-04-04T19:58:46.480-00:00
or 1459799926.480
* . If a record with this exact time stamp does not exist, the iterator
* returned is for the next (later) record. If the time stamp is older than
* the current trim horizon, the iterator returned is for the oldest
* untrimmed data record (TRIM_HORIZON).
*
* Returns a reference to this object so that method calls can be chained * together. * * @param timestamp
* The time stamp of the data record from which to start reading.
* Used with shard iterator type AT_TIMESTAMP. A time stamp is
* the Unix epoch date with precision in milliseconds. For
* example, 2016-04-04T19:58:46.480-00:00
or
* 1459799926.480
. If a record with this exact time
* stamp does not exist, the iterator returned is for the next
* (later) record. If the time stamp is older than the current
* trim horizon, the iterator returned is for the oldest
* untrimmed data record (TRIM_HORIZON).
*