Class KinesisStreamingSourceOptions

java.lang.Object
software.amazon.awssdk.services.glue.model.KinesisStreamingSourceOptions
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<KinesisStreamingSourceOptions.Builder,KinesisStreamingSourceOptions>

@Generated("software.amazon.awssdk:codegen") public final class KinesisStreamingSourceOptions extends Object implements SdkPojo, Serializable, ToCopyableBuilder<KinesisStreamingSourceOptions.Builder,KinesisStreamingSourceOptions>

Additional options for the Amazon Kinesis streaming data source.

See Also:
  • Method Details

    • endpointUrl

      public final String endpointUrl()

      The URL of the Kinesis endpoint.

      Returns:
      The URL of the Kinesis endpoint.
    • streamName

      public final String streamName()

      The name of the Kinesis data stream.

      Returns:
      The name of the Kinesis data stream.
    • classification

      public final String classification()

      An optional classification.

      Returns:
      An optional classification.
    • delimiter

      public final String delimiter()

      Specifies the delimiter character.

      Returns:
      Specifies the delimiter character.
    • startingPosition

      public final StartingPosition startingPosition()

      The starting position in the Kinesis data stream to read data from. The possible values are "latest", "trim_horizon", "earliest", or a timestamp string in UTC format in the pattern yyyy-mm-ddTHH:MM:SSZ (where Z represents a UTC timezone offset with a +/-. For example: "2023-04-04T08:00:00-04:00"). The default value is "latest".

      Note: Using a value that is a timestamp string in UTC format for "startingPosition" is supported only for Glue version 4.0 or later.

      If the service returns an enum value that is not available in the current SDK version, startingPosition will return StartingPosition.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from startingPositionAsString().

      Returns:
      The starting position in the Kinesis data stream to read data from. The possible values are "latest", "trim_horizon", "earliest", or a timestamp string in UTC format in the pattern yyyy-mm-ddTHH:MM:SSZ (where Z represents a UTC timezone offset with a +/-. For example: "2023-04-04T08:00:00-04:00"). The default value is "latest" .

      Note: Using a value that is a timestamp string in UTC format for "startingPosition" is supported only for Glue version 4.0 or later.

      See Also:
    • startingPositionAsString

      public final String startingPositionAsString()

      The starting position in the Kinesis data stream to read data from. The possible values are "latest", "trim_horizon", "earliest", or a timestamp string in UTC format in the pattern yyyy-mm-ddTHH:MM:SSZ (where Z represents a UTC timezone offset with a +/-. For example: "2023-04-04T08:00:00-04:00"). The default value is "latest".

      Note: Using a value that is a timestamp string in UTC format for "startingPosition" is supported only for Glue version 4.0 or later.

      If the service returns an enum value that is not available in the current SDK version, startingPosition will return StartingPosition.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from startingPositionAsString().

      Returns:
      The starting position in the Kinesis data stream to read data from. The possible values are "latest", "trim_horizon", "earliest", or a timestamp string in UTC format in the pattern yyyy-mm-ddTHH:MM:SSZ (where Z represents a UTC timezone offset with a +/-. For example: "2023-04-04T08:00:00-04:00"). The default value is "latest" .

      Note: Using a value that is a timestamp string in UTC format for "startingPosition" is supported only for Glue version 4.0 or later.

      See Also:
    • maxFetchTimeInMs

      public final Long maxFetchTimeInMs()

      The maximum time spent for the job executor to read records for the current batch from the Kinesis data stream, specified in milliseconds (ms). Multiple GetRecords API calls may be made within this time. The default value is 1000.

      Returns:
      The maximum time spent for the job executor to read records for the current batch from the Kinesis data stream, specified in milliseconds (ms). Multiple GetRecords API calls may be made within this time. The default value is 1000.
    • maxFetchRecordsPerShard

      public final Long maxFetchRecordsPerShard()

      The maximum number of records to fetch per shard in the Kinesis data stream per microbatch. Note: The client can exceed this limit if the streaming job has already read extra records from Kinesis (in the same get-records call). If MaxFetchRecordsPerShard needs to be strict then it needs to be a multiple of MaxRecordPerRead. The default value is 100000.

      Returns:
      The maximum number of records to fetch per shard in the Kinesis data stream per microbatch. Note: The client can exceed this limit if the streaming job has already read extra records from Kinesis (in the same get-records call). If MaxFetchRecordsPerShard needs to be strict then it needs to be a multiple of MaxRecordPerRead. The default value is 100000.
    • maxRecordPerRead

      public final Long maxRecordPerRead()

      The maximum number of records to fetch from the Kinesis data stream in each getRecords operation. The default value is 10000.

      Returns:
      The maximum number of records to fetch from the Kinesis data stream in each getRecords operation. The default value is 10000.
    • addIdleTimeBetweenReads

      public final Boolean addIdleTimeBetweenReads()

      Adds a time delay between two consecutive getRecords operations. The default value is "False". This option is only configurable for Glue version 2.0 and above.

      Returns:
      Adds a time delay between two consecutive getRecords operations. The default value is "False". This option is only configurable for Glue version 2.0 and above.
    • idleTimeBetweenReadsInMs

      public final Long idleTimeBetweenReadsInMs()

      The minimum time delay between two consecutive getRecords operations, specified in ms. The default value is 1000. This option is only configurable for Glue version 2.0 and above.

      Returns:
      The minimum time delay between two consecutive getRecords operations, specified in ms. The default value is 1000. This option is only configurable for Glue version 2.0 and above.
    • describeShardInterval

      public final Long describeShardInterval()

      The minimum time interval between two ListShards API calls for your script to consider resharding. The default value is 1s.

      Returns:
      The minimum time interval between two ListShards API calls for your script to consider resharding. The default value is 1s.
    • numRetries

      public final Integer numRetries()

      The maximum number of retries for Kinesis Data Streams API requests. The default value is 3.

      Returns:
      The maximum number of retries for Kinesis Data Streams API requests. The default value is 3.
    • retryIntervalMs

      public final Long retryIntervalMs()

      The cool-off time period (specified in ms) before retrying the Kinesis Data Streams API call. The default value is 1000.

      Returns:
      The cool-off time period (specified in ms) before retrying the Kinesis Data Streams API call. The default value is 1000.
    • maxRetryIntervalMs

      public final Long maxRetryIntervalMs()

      The maximum cool-off time period (specified in ms) between two retries of a Kinesis Data Streams API call. The default value is 10000.

      Returns:
      The maximum cool-off time period (specified in ms) between two retries of a Kinesis Data Streams API call. The default value is 10000.
    • avoidEmptyBatches

      public final Boolean avoidEmptyBatches()

      Avoids creating an empty microbatch job by checking for unread data in the Kinesis data stream before the batch is started. The default value is "False".

      Returns:
      Avoids creating an empty microbatch job by checking for unread data in the Kinesis data stream before the batch is started. The default value is "False".
    • streamArn

      public final String streamArn()

      The Amazon Resource Name (ARN) of the Kinesis data stream.

      Returns:
      The Amazon Resource Name (ARN) of the Kinesis data stream.
    • roleArn

      public final String roleArn()

      The Amazon Resource Name (ARN) of the role to assume using AWS Security Token Service (AWS STS). This role must have permissions for describe or read record operations for the Kinesis data stream. You must use this parameter when accessing a data stream in a different account. Used in conjunction with "awsSTSSessionName".

      Returns:
      The Amazon Resource Name (ARN) of the role to assume using AWS Security Token Service (AWS STS). This role must have permissions for describe or read record operations for the Kinesis data stream. You must use this parameter when accessing a data stream in a different account. Used in conjunction with "awsSTSSessionName".
    • roleSessionName

      public final String roleSessionName()

      An identifier for the session assuming the role using AWS STS. You must use this parameter when accessing a data stream in a different account. Used in conjunction with "awsSTSRoleARN".

      Returns:
      An identifier for the session assuming the role using AWS STS. You must use this parameter when accessing a data stream in a different account. Used in conjunction with "awsSTSRoleARN".
    • addRecordTimestamp

      public final String addRecordTimestamp()

      When this option is set to 'true', the data output will contain an additional column named "__src_timestamp" that indicates the time when the corresponding record received by the stream. The default value is 'false'. This option is supported in Glue version 4.0 or later.

      Returns:
      When this option is set to 'true', the data output will contain an additional column named "__src_timestamp" that indicates the time when the corresponding record received by the stream. The default value is 'false'. This option is supported in Glue version 4.0 or later.
    • emitConsumerLagMetrics

      public final String emitConsumerLagMetrics()

      When this option is set to 'true', for each batch, it will emit the metrics for the duration between the oldest record received by the stream and the time it arrives in Glue to CloudWatch. The metric's name is "glue.driver.streaming.maxConsumerLagInMs". The default value is 'false'. This option is supported in Glue version 4.0 or later.

      Returns:
      When this option is set to 'true', for each batch, it will emit the metrics for the duration between the oldest record received by the stream and the time it arrives in Glue to CloudWatch. The metric's name is "glue.driver.streaming.maxConsumerLagInMs". The default value is 'false'. This option is supported in Glue version 4.0 or later.
    • startingTimestamp

      public final Instant startingTimestamp()

      The timestamp of the record in the Kinesis data stream to start reading data from. The possible values are a timestamp string in UTC format of the pattern yyyy-mm-ddTHH:MM:SSZ (where Z represents a UTC timezone offset with a +/-. For example: "2023-04-04T08:00:00+08:00").

      Returns:
      The timestamp of the record in the Kinesis data stream to start reading data from. The possible values are a timestamp string in UTC format of the pattern yyyy-mm-ddTHH:MM:SSZ (where Z represents a UTC timezone offset with a +/-. For example: "2023-04-04T08:00:00+08:00").
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<KinesisStreamingSourceOptions.Builder,KinesisStreamingSourceOptions>
      Returns:
      a builder for type T
    • builder

      public static KinesisStreamingSourceOptions.Builder builder()
    • serializableBuilderClass

      public static Class<? extends KinesisStreamingSourceOptions.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.