java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.core.Construct
software.amazon.awscdk.core.Resource
software.amazon.awscdk.services.kinesis.Stream
All Implemented Interfaces:
IConstruct, IDependable, IResource, IStream, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:39.625Z") @Stability(Stable) public class Stream extends Resource implements IStream
A Kinesis stream.

Can be encrypted with a KMS key.

Example:

 Key key = new Key(this, "MyKey");
 Stream.Builder.create(this, "MyEncryptedStream")
         .encryption(StreamEncryption.KMS)
         .encryptionKey(key)
         .build();
 
  • Constructor Details

    • Stream

      protected Stream(software.amazon.jsii.JsiiObjectRef objRef)
    • Stream

      protected Stream(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • Stream

      @Stability(Stable) public Stream(@NotNull software.constructs.Construct scope, @NotNull String id, @Nullable StreamProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props -
    • Stream

      @Stability(Stable) public Stream(@NotNull software.constructs.Construct scope, @NotNull String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
  • Method Details

    • fromStreamArn

      @Stability(Stable) @NotNull public static IStream fromStreamArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String streamArn)
      Import an existing Kinesis Stream provided an ARN.

      Parameters:
      scope - The parent creating construct (usually this). This parameter is required.
      id - The construct's name. This parameter is required.
      streamArn - Stream ARN (i.e. arn:aws:kinesis::invalid input: '<'account-id>:stream/Foo). This parameter is required.
    • fromStreamAttributes

      @Stability(Stable) @NotNull public static IStream fromStreamAttributes(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull StreamAttributes attrs)
      Creates a Stream construct that represents an external stream.

      Parameters:
      scope - The parent creating construct (usually this). This parameter is required.
      id - The construct's name. This parameter is required.
      attrs - Stream import properties. This parameter is required.
    • grant

      @Stability(Stable) @NotNull public Grant grant(@NotNull IGrantable grantee, @NotNull @NotNull String... actions)
      Grant the indicated permissions on this stream to the given IAM principal (Role/Group/User).

      Specified by:
      grant in interface IStream
      Parameters:
      grantee - This parameter is required.
      actions - This parameter is required.
    • grantRead

      @Stability(Stable) @NotNull public 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.

      Specified by:
      grantRead in interface IStream
      Parameters:
      grantee - This parameter is required.
    • grantReadWrite

      @Stability(Stable) @NotNull public 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.

      Specified by:
      grantReadWrite in interface IStream
      Parameters:
      grantee - This parameter is required.
    • grantWrite

      @Stability(Stable) @NotNull public 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.

      Specified by:
      grantWrite in interface IStream
      Parameters:
      grantee - This parameter is required.
    • metric

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

      Specified by:
      metric in interface IStream
      Parameters:
      metricName - name of the stream metric. This parameter is required.
      props - properties of the metric.
    • metric

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

      Specified by:
      metric in interface IStream
      Parameters:
      metricName - name of the stream metric. This parameter is required.
    • metricGetRecords

      @Stability(Stable) @NotNull public 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.

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

      Specified by:
      metricGetRecords in interface IStream
      Parameters:
      props - properties of the metric.
    • metricGetRecords

      @Stability(Stable) @NotNull public 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.

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

      Specified by:
      metricGetRecords in interface IStream
    • metricGetRecordsBytes

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricGetRecordsBytes in interface IStream
      Parameters:
      props - properties of the metric.
    • metricGetRecordsBytes

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricGetRecordsBytes in interface IStream
    • metricGetRecordsIteratorAgeMilliseconds

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricGetRecordsIteratorAgeMilliseconds in interface IStream
      Parameters:
      props - properties of the metric.
    • metricGetRecordsIteratorAgeMilliseconds

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricGetRecordsIteratorAgeMilliseconds in interface IStream
    • metricGetRecordsLatency

      @Stability(Stable) @NotNull public Metric metricGetRecordsLatency(@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.

      Specified by:
      metricGetRecordsLatency in interface IStream
      Parameters:
      props - properties of the metric.
    • metricGetRecordsLatency

      @Stability(Stable) @NotNull public Metric metricGetRecordsLatency()
      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.

      Specified by:
      metricGetRecordsLatency in interface IStream
    • metricGetRecordsSuccess

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricGetRecordsSuccess in interface IStream
      Parameters:
      props - properties of the metric.
    • metricGetRecordsSuccess

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricGetRecordsSuccess in interface IStream
    • metricIncomingBytes

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricIncomingBytes in interface IStream
      Parameters:
      props - properties of the metric.
    • metricIncomingBytes

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricIncomingBytes in interface IStream
    • metricIncomingRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricIncomingRecords in interface IStream
      Parameters:
      props - properties of the metric.
    • metricIncomingRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricIncomingRecords in interface IStream
    • metricPutRecordBytes

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordBytes in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordBytes

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordBytes in interface IStream
    • metricPutRecordLatency

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordLatency in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordLatency

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordLatency in interface IStream
    • metricPutRecordsBytes

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsBytes in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordsBytes

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsBytes in interface IStream
    • metricPutRecordsFailedRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsFailedRecords in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordsFailedRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsFailedRecords in interface IStream
    • metricPutRecordsLatency

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsLatency in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordsLatency

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsLatency in interface IStream
    • metricPutRecordsSuccess

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsSuccess in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordsSuccess

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsSuccess in interface IStream
    • metricPutRecordsSuccessfulRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsSuccessfulRecords in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordsSuccessfulRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsSuccessfulRecords in interface IStream
    • metricPutRecordsThrottledRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsThrottledRecords in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordsThrottledRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsThrottledRecords in interface IStream
    • metricPutRecordsTotalRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsTotalRecords in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordsTotalRecords

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordsTotalRecords in interface IStream
    • metricPutRecordSuccess

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordSuccess in interface IStream
      Parameters:
      props - properties of the metric.
    • metricPutRecordSuccess

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricPutRecordSuccess in interface IStream
    • metricReadProvisionedThroughputExceeded

      @Stability(Stable) @NotNull public 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

      Specified by:
      metricReadProvisionedThroughputExceeded in interface IStream
      Parameters:
      props - properties of the metric.
    • metricReadProvisionedThroughputExceeded

      @Stability(Stable) @NotNull public 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

      Specified by:
      metricReadProvisionedThroughputExceeded in interface IStream
    • metricWriteProvisionedThroughputExceeded

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricWriteProvisionedThroughputExceeded in interface IStream
      Parameters:
      props - properties of the metric.
    • metricWriteProvisionedThroughputExceeded

      @Stability(Stable) @NotNull public 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.

      Specified by:
      metricWriteProvisionedThroughputExceeded in interface IStream
    • getStreamArn

      @Stability(Stable) @NotNull public String getStreamArn()
      The ARN of the stream.
      Specified by:
      getStreamArn in interface IStream
    • getStreamName

      @Stability(Stable) @NotNull public String getStreamName()
      The name of the stream.
      Specified by:
      getStreamName in interface IStream
    • getEncryptionKey

      @Stability(Stable) @Nullable public IKey getEncryptionKey()
      Optional KMS encryption key associated with this stream.
      Specified by:
      getEncryptionKey in interface IStream