Interface IStream

All Superinterfaces:
software.constructs.IConstruct, software.constructs.IDependable, IResource, software.amazon.jsii.JsiiSerializable
All Known Subinterfaces:
IStream.Jsii$Default
All Known Implementing Classes:
IStream.Jsii$Proxy, Stream

@Generated(value="jsii-pacmak/1.94.0 (build b380f01)", date="2024-03-01T20:58:26.138Z") @Stability(Stable) public interface IStream extends software.amazon.jsii.JsiiSerializable, IResource
A Kinesis Stream.
  • Method Details

    • getStreamArn

      @Stability(Stable) @NotNull String getStreamArn()
      The ARN of the stream.
    • getStreamName

      @Stability(Stable) @NotNull String getStreamName()
      The name of the stream.
    • getEncryptionKey

      @Stability(Stable) @Nullable default IKey getEncryptionKey()
      Optional KMS encryption key associated with this stream.
    • grant

      @Stability(Stable) @NotNull Grant grant(@NotNull IGrantable grantee, @NotNull @NotNull String... actions)
      Grant the indicated permissions on this stream to the provided IAM principal.

      Parameters:
      grantee - This parameter is required.
      actions - This parameter is required.
    • grantRead

      @Stability(Stable) @NotNull Grant grantRead(@NotNull IGrantable grantee)
      Grant read permissions for this stream and its contents to an IAM principal (Role/Group/User).

      If an encryption key is used, permission to ues the key to decrypt the contents of the stream will also be granted.

      Parameters:
      grantee - This parameter is required.
    • grantReadWrite

      @Stability(Stable) @NotNull Grant grantReadWrite(@NotNull IGrantable grantee)
      Grants read/write permissions for this stream and its contents to an IAM principal (Role/Group/User).

      If an encryption key is used, permission to use the key for encrypt/decrypt will also be granted.

      Parameters:
      grantee - This parameter is required.
    • grantWrite

      @Stability(Stable) @NotNull Grant grantWrite(@NotNull IGrantable grantee)
      Grant write permissions for this stream and its contents to an IAM principal (Role/Group/User).

      If an encryption key is used, permission to ues the key to encrypt the contents of the stream will also be granted.

      Parameters:
      grantee - This parameter is required.
    • metric

      @Stability(Stable) @NotNull Metric metric(@NotNull String metricName, @Nullable MetricOptions props)
      Return stream metric based from its metric name.

      Parameters:
      metricName - name of the stream metric. This parameter is required.
      props - properties of the metric.
    • metric

      @Stability(Stable) @NotNull Metric metric(@NotNull String metricName)
      Return stream metric based from its metric name.

      Parameters:
      metricName - name of the stream metric. This parameter is required.
    • metricGetRecords

      @Stability(Stable) @NotNull Metric metricGetRecords(@Nullable MetricOptions props)
      The number of records retrieved from the shard, measured over the specified time period.

      Minimum, Maximum, and Average statistics represent the records in a single GetRecords operation for the stream in the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricGetRecords

      @Stability(Stable) @NotNull Metric metricGetRecords()
      The number of records retrieved from the shard, measured over the specified time period.

      Minimum, Maximum, and Average statistics represent the records in a single GetRecords operation for the stream in the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricGetRecordsBytes

      @Stability(Stable) @NotNull Metric metricGetRecordsBytes(@Nullable MetricOptions props)
      The number of bytes retrieved from the Kinesis stream, measured over the specified time period.

      Minimum, Maximum, and Average statistics represent the bytes in a single GetRecords operation for the stream in the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricGetRecordsBytes

      @Stability(Stable) @NotNull Metric metricGetRecordsBytes()
      The number of bytes retrieved from the Kinesis stream, measured over the specified time period.

      Minimum, Maximum, and Average statistics represent the bytes in a single GetRecords operation for the stream in the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricGetRecordsIteratorAgeMilliseconds

      @Stability(Stable) @NotNull Metric metricGetRecordsIteratorAgeMilliseconds(@Nullable MetricOptions props)
      The age of the last record in all GetRecords calls made against a Kinesis stream, measured over the specified time period.

      Age is the difference between the current time and when the last record of the GetRecords call was written to the stream. The Minimum and Maximum statistics can be used to track the progress of Kinesis consumer applications. A value of zero indicates that the records being read are completely caught up with the stream.

      The metric defaults to maximum over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricGetRecordsIteratorAgeMilliseconds

      @Stability(Stable) @NotNull Metric metricGetRecordsIteratorAgeMilliseconds()
      The age of the last record in all GetRecords calls made against a Kinesis stream, measured over the specified time period.

      Age is the difference between the current time and when the last record of the GetRecords call was written to the stream. The Minimum and Maximum statistics can be used to track the progress of Kinesis consumer applications. A value of zero indicates that the records being read are completely caught up with the stream.

      The metric defaults to maximum over 5 minutes, it can be changed by passing statistic and period properties.

    • metricGetRecordsLatency

      @Stability(Stable) @NotNull Metric metricGetRecordsLatency(@Nullable MetricOptions props)
      The time taken per GetRecords operation, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricGetRecordsLatency

      @Stability(Stable) @NotNull Metric metricGetRecordsLatency()
      The time taken per GetRecords operation, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricGetRecordsSuccess

      @Stability(Stable) @NotNull Metric metricGetRecordsSuccess(@Nullable MetricOptions props)
      The number of successful GetRecords operations per stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricGetRecordsSuccess

      @Stability(Stable) @NotNull Metric metricGetRecordsSuccess()
      The number of successful GetRecords operations per stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricIncomingBytes

      @Stability(Stable) @NotNull Metric metricIncomingBytes(@Nullable MetricOptions props)
      The number of bytes successfully put to the Kinesis stream over the specified time period.

      This metric includes bytes from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the bytes in a single put operation for the stream in the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricIncomingBytes

      @Stability(Stable) @NotNull Metric metricIncomingBytes()
      The number of bytes successfully put to the Kinesis stream over the specified time period.

      This metric includes bytes from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the bytes in a single put operation for the stream in the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricIncomingRecords

      @Stability(Stable) @NotNull Metric metricIncomingRecords(@Nullable MetricOptions props)
      The number of records successfully put to the Kinesis stream over the specified time period.

      This metric includes record counts from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the records in a single put operation for the stream in the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricIncomingRecords

      @Stability(Stable) @NotNull Metric metricIncomingRecords()
      The number of records successfully put to the Kinesis stream over the specified time period.

      This metric includes record counts from PutRecord and PutRecords operations. Minimum, Maximum, and Average statistics represent the records in a single put operation for the stream in the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordBytes

      @Stability(Stable) @NotNull Metric metricPutRecordBytes(@Nullable MetricOptions props)
      The number of bytes put to the Kinesis stream using the PutRecord operation over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordBytes

      @Stability(Stable) @NotNull Metric metricPutRecordBytes()
      The number of bytes put to the Kinesis stream using the PutRecord operation over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordLatency

      @Stability(Stable) @NotNull Metric metricPutRecordLatency(@Nullable MetricOptions props)
      The time taken per PutRecord operation, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordLatency

      @Stability(Stable) @NotNull Metric metricPutRecordLatency()
      The time taken per PutRecord operation, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordsBytes

      @Stability(Stable) @NotNull Metric metricPutRecordsBytes(@Nullable MetricOptions props)
      The number of bytes put to the Kinesis stream using the PutRecords operation over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordsBytes

      @Stability(Stable) @NotNull Metric metricPutRecordsBytes()
      The number of bytes put to the Kinesis stream using the PutRecords operation over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordsFailedRecords

      @Stability(Stable) @NotNull Metric metricPutRecordsFailedRecords(@Nullable MetricOptions props)
      The number of records rejected due to internal failures in a PutRecords operation per Kinesis data stream, measured over the specified time period.

      Occasional internal failures are to be expected and should be retried.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordsFailedRecords

      @Stability(Stable) @NotNull Metric metricPutRecordsFailedRecords()
      The number of records rejected due to internal failures in a PutRecords operation per Kinesis data stream, measured over the specified time period.

      Occasional internal failures are to be expected and should be retried.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordsLatency

      @Stability(Stable) @NotNull Metric metricPutRecordsLatency(@Nullable MetricOptions props)
      The time taken per PutRecords operation, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordsLatency

      @Stability(Stable) @NotNull Metric metricPutRecordsLatency()
      The time taken per PutRecords operation, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordsSuccess

      @Stability(Stable) @NotNull Metric metricPutRecordsSuccess(@Nullable MetricOptions props)
      The number of PutRecords operations where at least one record succeeded, per Kinesis stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordsSuccess

      @Stability(Stable) @NotNull Metric metricPutRecordsSuccess()
      The number of PutRecords operations where at least one record succeeded, per Kinesis stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordsSuccessfulRecords

      @Stability(Stable) @NotNull Metric metricPutRecordsSuccessfulRecords(@Nullable MetricOptions props)
      The number of successful records in a PutRecords operation per Kinesis data stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordsSuccessfulRecords

      @Stability(Stable) @NotNull Metric metricPutRecordsSuccessfulRecords()
      The number of successful records in a PutRecords operation per Kinesis data stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordsThrottledRecords

      @Stability(Stable) @NotNull Metric metricPutRecordsThrottledRecords(@Nullable MetricOptions props)
      The number of records rejected due to throttling in a PutRecords operation per Kinesis data stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordsThrottledRecords

      @Stability(Stable) @NotNull Metric metricPutRecordsThrottledRecords()
      The number of records rejected due to throttling in a PutRecords operation per Kinesis data stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordsTotalRecords

      @Stability(Stable) @NotNull Metric metricPutRecordsTotalRecords(@Nullable MetricOptions props)
      The total number of records sent in a PutRecords operation per Kinesis data stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordsTotalRecords

      @Stability(Stable) @NotNull Metric metricPutRecordsTotalRecords()
      The total number of records sent in a PutRecords operation per Kinesis data stream, measured over the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricPutRecordSuccess

      @Stability(Stable) @NotNull Metric metricPutRecordSuccess(@Nullable MetricOptions props)
      The number of successful PutRecord operations per Kinesis stream, measured over the specified time period.

      Average reflects the percentage of successful writes to a stream.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricPutRecordSuccess

      @Stability(Stable) @NotNull Metric metricPutRecordSuccess()
      The number of successful PutRecord operations per Kinesis stream, measured over the specified time period.

      Average reflects the percentage of successful writes to a stream.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

    • metricReadProvisionedThroughputExceeded

      @Stability(Stable) @NotNull Metric metricReadProvisionedThroughputExceeded(@Nullable MetricOptions props)
      The number of GetRecords calls throttled for the stream over the specified time period.

      The most commonly used statistic for this metric is Average.

      When the Minimum statistic has a value of 1, all records were throttled for the stream during the specified time period.

      When the Maximum statistic has a value of 0 (zero), no records were throttled for the stream during the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties

      Parameters:
      props - properties of the metric.
    • metricReadProvisionedThroughputExceeded

      @Stability(Stable) @NotNull Metric metricReadProvisionedThroughputExceeded()
      The number of GetRecords calls throttled for the stream over the specified time period.

      The most commonly used statistic for this metric is Average.

      When the Minimum statistic has a value of 1, all records were throttled for the stream during the specified time period.

      When the Maximum statistic has a value of 0 (zero), no records were throttled for the stream during the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties

    • metricWriteProvisionedThroughputExceeded

      @Stability(Stable) @NotNull Metric metricWriteProvisionedThroughputExceeded(@Nullable MetricOptions props)
      The number of records rejected due to throttling for the stream over the specified time period.

      This metric includes throttling from PutRecord and PutRecords operations.

      When the Minimum statistic has a non-zero value, records were being throttled for the stream during the specified time period.

      When the Maximum statistic has a value of 0 (zero), no records were being throttled for the stream during the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.

      Parameters:
      props - properties of the metric.
    • metricWriteProvisionedThroughputExceeded

      @Stability(Stable) @NotNull Metric metricWriteProvisionedThroughputExceeded()
      The number of records rejected due to throttling for the stream over the specified time period.

      This metric includes throttling from PutRecord and PutRecords operations.

      When the Minimum statistic has a non-zero value, records were being throttled for the stream during the specified time period.

      When the Maximum statistic has a value of 0 (zero), no records were being throttled for the stream during the specified time period.

      The metric defaults to average over 5 minutes, it can be changed by passing statistic and period properties.