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 inISO 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 beforeExclusiveEndTime
.If you provide an
InclusiveStartTime
that is before the ledger'sCreationDateTime
, QLDB effectively defaults it to the ledger'sCreationDateTime
.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
-
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
-
StreamJournalToKinesis in the Amazon QLDB API Reference