DeliveryStreamProps

class aws_cdk.aws_kinesisfirehose.DeliveryStreamProps(*, destinations, delivery_stream_name=None, encryption=None, encryption_key=None, role=None, source_stream=None)

Bases: object

(experimental) Properties for a new delivery stream.

Parameters:
  • destinations (Sequence[IDestination]) – (experimental) The destinations that this delivery stream will deliver data to. Only a singleton array is supported at this time.

  • delivery_stream_name (Optional[str]) – (experimental) A name for the delivery stream. Default: - a name is generated by CloudFormation.

  • encryption (Optional[StreamEncryption]) – (experimental) Indicates the type of customer master key (CMK) to use for server-side encryption, if any. Default: StreamEncryption.UNENCRYPTED - unless encryptionKey is provided, in which case this will be implicitly set to StreamEncryption.CUSTOMER_MANAGED

  • encryption_key (Optional[IKey]) – (experimental) Customer managed key to server-side encrypt data in the stream. Default: - no KMS key will be used; if encryption is set to CUSTOMER_MANAGED, a KMS key will be created for you

  • role (Optional[IRole]) – (experimental) The IAM role associated with this delivery stream. Assumed by Kinesis Data Firehose to read from sources and encrypt data server-side. Default: - a role will be created with default permissions.

  • source_stream (Optional[IStream]) – (experimental) The Kinesis data stream to use as a source for this delivery stream. Default: - data must be written to the delivery stream via a direct put.

Stability:

experimental

ExampleMetadata:

infused

Example:

# bucket: s3.Bucket
# Provide a Lambda function that will transform records before delivery, with custom
# buffering and retry configuration
lambda_function = lambda_.Function(self, "Processor",
    runtime=lambda_.Runtime.NODEJS_14_X,
    handler="index.handler",
    code=lambda_.Code.from_asset(path.join(__dirname, "process-records"))
)
lambda_processor = firehose.LambdaFunctionProcessor(lambda_function,
    buffer_interval=Duration.minutes(5),
    buffer_size=Size.mebibytes(5),
    retries=5
)
s3_destination = destinations.S3Bucket(bucket,
    processor=lambda_processor
)
firehose.DeliveryStream(self, "Delivery Stream",
    destinations=[s3_destination]
)

Attributes

delivery_stream_name

(experimental) A name for the delivery stream.

Default:
  • a name is generated by CloudFormation.

Stability:

experimental

destinations

(experimental) The destinations that this delivery stream will deliver data to.

Only a singleton array is supported at this time.

Stability:

experimental

encryption

(experimental) Indicates the type of customer master key (CMK) to use for server-side encryption, if any.

Default:

StreamEncryption.UNENCRYPTED - unless encryptionKey is provided, in which case this will be implicitly set to StreamEncryption.CUSTOMER_MANAGED

Stability:

experimental

encryption_key

(experimental) Customer managed key to server-side encrypt data in the stream.

Default:
  • no KMS key will be used; if encryption is set to CUSTOMER_MANAGED, a KMS key will be created for you

Stability:

experimental

role

(experimental) The IAM role associated with this delivery stream.

Assumed by Kinesis Data Firehose to read from sources and encrypt data server-side.

Default:
  • a role will be created with default permissions.

Stability:

experimental

source_stream

(experimental) The Kinesis data stream to use as a source for this delivery stream.

Default:
  • data must be written to the delivery stream via a direct put.

Stability:

experimental