AWS::QLDB::Stream - AWS CloudFormation

AWS::QLDB::Stream

The AWS::QLDB::Stream resource specifies a journal stream for a given Amazon Quantum Ledger Database (Amazon QLDB) ledger. The stream captures every document revision that is committed to the ledger's journal and delivers the data to a specified Amazon Kinesis Data Streams resource.

For more information, see StreamJournalToKinesis in the Amazon QLDB API Reference.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::QLDB::Stream", "Properties" : { "ExclusiveEndTime" : String, "InclusiveStartTime" : String, "KinesisConfiguration" : KinesisConfiguration, "LedgerName" : String, "RoleArn" : String, "StreamName" : String, "Tags" : [ Tag, ... ] } }

YAML

Type: AWS::QLDB::Stream Properties: ExclusiveEndTime: String InclusiveStartTime: String KinesisConfiguration: KinesisConfiguration LedgerName: String RoleArn: String StreamName: String Tags: - Tag

Properties

ExclusiveEndTime

The exclusive date and time that specifies when the stream ends. If you don't define this parameter, the stream runs indefinitely until you cancel it.

The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z.

Required: No

Type: String

Update requires: Replacement

InclusiveStartTime

The inclusive start date and time from which to start streaming journal data. This parameter must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z.

The InclusiveStartTime cannot be in the future and must be before ExclusiveEndTime.

If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, QLDB effectively defaults it to the ledger's CreationDateTime.

Required: Yes

Type: String

Update requires: Replacement

KinesisConfiguration

The configuration settings of the Kinesis Data Streams destination for your stream request.

Required: Yes

Type: KinesisConfiguration

Update requires: Replacement

LedgerName

The name of the ledger.

Required: Yes

Type: String

Pattern: (?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$

Minimum: 1

Maximum: 32

Update requires: Replacement

RoleArn

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.

To pass a role to QLDB when requesting a journal stream, you must have permissions to perform the iam:PassRole action on the IAM role resource. This is required for all journal stream requests.

Required: Yes

Type: String

Pattern: arn:[\w+=/,.@-]+:[\w+=/,.@-]+:[\w+=/,.@-]*:[0-9]*:[\w+=,.@-]+(/[\w+=,.@-]+)*

Update requires: Replacement

StreamName

The name that you want to assign to the QLDB journal stream. User-defined names can help identify and indicate the purpose of a stream.

Your stream name must be unique among other active streams for a given ledger. Stream names have the same naming constraints as ledger names, as defined in Quotas in Amazon QLDB in the Amazon QLDB Developer Guide.

Required: Yes

Type: String

Pattern: (?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$

Minimum: 1

Maximum: 32

Update requires: Replacement

Tags

An array of key-value pairs to apply to this resource.

For more information, see Tag.

Required: No

Type: Array of Tag

Maximum: 50

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the resource ID or ARN. For example:

{ "Ref": "myQLDBStream" }

For the resource with the logical ID myQLDBStream, Ref returns the ID or ARN of the Amazon QLDB journal stream.

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

Arn

The Amazon Resource Name (ARN) of the QLDB journal stream. For example: arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy.

Id

The unique ID that QLDB assigns to each QLDB journal stream. For example: IiPT4brpZCqCq3f4MTHbYy.

Examples

Amazon QLDB Stream

The following example describes an Amazon QLDB journal stream for a ledger named exampleLedger and a Kinesis Data Streams destination with the ARN arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb.

JSON

{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "myQLDBStream": { "Type": "AWS::QLDB::Stream", "Properties": { "ExclusiveEndTime" : "2020-05-29T22:59:59Z", "InclusiveStartTime" : "2020-05-29T00:00:00Z", "KinesisConfiguration" : { "AggregationEnabled": true, "StreamArn": "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb" }, "LedgerName" : "exampleLedger", "RoleArn" : "arn:aws:iam::123456789012:role/my-kinesis-stream-role", "StreamName" : "exampleLedger-stream", "Tags": [ { "Key": "Domain", "Value": "Test" } ] } } } }

YAML

AWSTemplateFormatVersion: "2010-09-09" Resources: myQLDBStream: Type: "AWS::QLDB::Stream" Properties: ExclusiveEndTime: "2020-05-29T22:59:59Z" InclusiveStartTime: "2020-05-29T00:00:00Z" KinesisConfiguration: AggregationEnabled: true StreamArn: "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb" LedgerName: "exampleLedger" RoleArn: "arn:aws:iam::123456789012:role/my-kinesis-stream-role" StreamName: "exampleLedger-stream" Tags: - Key: Domain Value: Test

See also