All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.kinesis.model.GetShardIteratorRequest Maven / Gradle / Ivy

There is a newer version: 2.20.1
Show newest version
/*
 * Copyright 2010-2014 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;

/**
 * Container for the parameters to the {@link com.amazonaws.services.kinesis.AmazonKinesis#getShardIterator(GetShardIteratorRequest) GetShardIterator operation}.
 * 

* This operation returns a shard iterator in ShardIterator * . The shard iterator specifies the position in the shard from which * you want to start reading data records sequentially. A shard iterator * specifies this position using the sequence number of a data record in * a shard. A sequence number is the identifier associated with every * record ingested in the Amazon Kinesis stream. The sequence number is * assigned by the Amazon Kinesis service when a record is put into the * stream. *

*

* You must specify the shard iterator type in the * GetShardIterator request. 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, or right after the sequence * number by using the AFTER_SEQUENCE_NUMBER shard iterator type, using * sequence numbers returned by earlier PutRecord, GetRecords or * DescribeStream requests. You can specify the shard iterator type * TRIM_HORIZON in the request to cause ShardIterator to * point to the last untrimmed record in the shard in the system, which * is the oldest data record in the shard. Or you can point to just after * the most recent record in the shard, by using the shard iterator type * LATEST, so that you always read the most recent data in the shard. *

*

* Note: Each shard iterator expires five minutes after it is * returned to the requester. *

*

* When you repeatedly read from an Amazon Kinesis stream use a * GetShardIterator request to get the first shard iterator to to use in * your first GetRecords request and then use the shard * iterator returned by the GetRecords request in * NextShardIterator for subsequent reads. 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 will * receive a ProvisionedThroughputExceededException . * For more information about throughput limits, see the * Amazon Kinesis Developer Guide * . *

*

* GetShardIterator can return null for its * ShardIterator to indicate that the shard has been closed * and that the requested iterator will return no more data. A shard can * be closed by a SplitShard or MergeShards operation. *

*

* GetShardIterator has a limit of 5 transactions per * second per account per open shard. *

* * @see com.amazonaws.services.kinesis.AmazonKinesis#getShardIterator(GetShardIteratorRequest) */ public class GetShardIteratorRequest extends AmazonWebServiceRequest implements Serializable { /** * The name of the stream. *

* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
*/ private String streamName; /** * The shard ID of the 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 shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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 */ private String shardIteratorType; /** * The sequence number of the data record in the shard from which to * start reading from. *

* Constraints:
* Pattern: 0|([1-9]\d{0,128})
*/ private String startingSequenceNumber; /** * The name of the stream. *

* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
* * @return The name of the stream. */ public String getStreamName() { return streamName; } /** * The name of the stream. *

* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
* * @param streamName The name of the stream. */ public void setStreamName(String streamName) { this.streamName = streamName; } /** * The name of the 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 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 shard to get the iterator for. *

* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
* * @return The shard ID of the shard to get the iterator for. */ public String getShardId() { return shardId; } /** * The shard ID of the shard to get the iterator for. *

* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_.-]+
* * @param shardId The shard ID of the shard to get the iterator for. */ public void setShardId(String shardId) { this.shardId = shardId; } /** * The shard ID of the 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 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 shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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 * * @return Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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.
* * @see ShardIteratorType */ public String getShardIteratorType() { return shardIteratorType; } /** * Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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 * * @param shardIteratorType Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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.
* * @see ShardIteratorType */ public void setShardIteratorType(String shardIteratorType) { this.shardIteratorType = shardIteratorType; } /** * Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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 * * @param shardIteratorType Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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.
* * @return A reference to this updated object so that method calls can be chained * together. * * @see ShardIteratorType */ public GetShardIteratorRequest withShardIteratorType(String shardIteratorType) { this.shardIteratorType = shardIteratorType; return this; } /** * Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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 * * @param shardIteratorType Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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.
* * @see ShardIteratorType */ public void setShardIteratorType(ShardIteratorType shardIteratorType) { this.shardIteratorType = shardIteratorType.toString(); } /** * Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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 * * @param shardIteratorType Determines how the shard iterator is used to start reading data * records from the shard.

The following are the valid shard iterator * types:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the * position denoted by a specific sequence number.
  • *
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position * denoted by a specific sequence number.
  • 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.
* * @return A reference to this updated object so that method calls can be chained * together. * * @see ShardIteratorType */ public GetShardIteratorRequest withShardIteratorType(ShardIteratorType shardIteratorType) { this.shardIteratorType = shardIteratorType.toString(); return this; } /** * The sequence number of the data record in the shard from which to * start reading from. *

* Constraints:
* Pattern: 0|([1-9]\d{0,128})
* * @return The sequence number of the data record in the shard from which to * start reading from. */ public String getStartingSequenceNumber() { return startingSequenceNumber; } /** * The sequence number of the data record in the shard from which to * start reading from. *

* 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 from. */ public void setStartingSequenceNumber(String startingSequenceNumber) { this.startingSequenceNumber = startingSequenceNumber; } /** * The sequence number of the data record in the shard from which to * start reading from. *

* 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 from. * * @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; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getStreamName() != null) sb.append("StreamName: " + getStreamName() + ","); if (getShardId() != null) sb.append("ShardId: " + getShardId() + ","); if (getShardIteratorType() != null) sb.append("ShardIteratorType: " + getShardIteratorType() + ","); if (getStartingSequenceNumber() != null) sb.append("StartingSequenceNumber: " + getStartingSequenceNumber() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getStreamName() == null) ? 0 : getStreamName().hashCode()); hashCode = prime * hashCode + ((getShardId() == null) ? 0 : getShardId().hashCode()); hashCode = prime * hashCode + ((getShardIteratorType() == null) ? 0 : getShardIteratorType().hashCode()); hashCode = prime * hashCode + ((getStartingSequenceNumber() == null) ? 0 : getStartingSequenceNumber().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GetShardIteratorRequest == false) return false; GetShardIteratorRequest other = (GetShardIteratorRequest)obj; if (other.getStreamName() == null ^ this.getStreamName() == null) return false; if (other.getStreamName() != null && other.getStreamName().equals(this.getStreamName()) == false) return false; if (other.getShardId() == null ^ this.getShardId() == null) return false; if (other.getShardId() != null && other.getShardId().equals(this.getShardId()) == false) return false; if (other.getShardIteratorType() == null ^ this.getShardIteratorType() == null) return false; if (other.getShardIteratorType() != null && other.getShardIteratorType().equals(this.getShardIteratorType()) == false) return false; if (other.getStartingSequenceNumber() == null ^ this.getStartingSequenceNumber() == null) return false; if (other.getStartingSequenceNumber() != null && other.getStartingSequenceNumber().equals(this.getStartingSequenceNumber()) == false) return false; return true; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy