AWS::IVS::RecordingConfiguration - AWS CloudFormation

AWS::IVS::RecordingConfiguration

The AWS::IVS::RecordingConfiguration resource specifies an Amazon IVS recording configuration. A recording configuration enables the recording of a channel’s live streams to a data store. Multiple channels can reference the same recording configuration. For more information, see RecordingConfiguration in the Amazon IVS Low-Latency Streaming API Reference.

Syntax

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

JSON

{ "Type" : "AWS::IVS::RecordingConfiguration", "Properties" : { "DestinationConfiguration" : DestinationConfiguration, "Name" : String, "RecordingReconnectWindowSeconds" : Integer, "RenditionConfiguration" : RenditionConfiguration, "Tags" : [ Tag, ... ], "ThumbnailConfiguration" : ThumbnailConfiguration } }

Properties

DestinationConfiguration

A destination configuration describes an S3 bucket where recorded video will be stored. See the DestinationConfiguration property type for more information.

Required: Yes

Type: DestinationConfiguration

Update requires: Replacement

Name

Recording-configuration name. The value does not need to be unique.

Required: No

Type: String

Pattern: ^[a-zA-Z0-9-_]*$

Minimum: 0

Maximum: 128

Update requires: Replacement

RecordingReconnectWindowSeconds

If a broadcast disconnects and then reconnects within the specified interval, the multiple streams will be considered a single broadcast and merged together.

Default: 0

Required: No

Type: Integer

Minimum: 0

Maximum: 300

Update requires: Replacement

RenditionConfiguration

A rendition configuration describes which renditions should be recorded for a stream. See the RenditionConfiguration property type for more information.

Required: No

Type: RenditionConfiguration

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

ThumbnailConfiguration

A thumbnail configuration enables/disables the recording of thumbnails for a live session and controls the interval at which thumbnails are generated for the live session. See the ThumbnailConfiguration property type for more information.

Required: No

Type: ThumbnailConfiguration

Update requires: Replacement

Return values

Ref

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

{ "Ref": "myRecordingConfiguration" }

For the Amazon IVS recording configuration myRecordingConfiguration, Ref returns the recording-configuration ARN.

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 recording configuration ARN. For example: arn:aws:ivs:us-west-2:123456789012:recording-configuration/abcdABCDefgh

State

Indicates the current state of the recording configuration. When the state is ACTIVE, the configuration is ready to record a channel stream. Valid values: CREATING | CREATE_FAILED | ACTIVE.

Examples

Recording Configuration Template Examples

The following examples specify an Amazon IVS Channel that records live-channel streams to an S3 bucket.

JSON

{ "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket" }, "RecordingConfiguration": { "Type": "AWS::IVS::RecordingConfiguration", "DependsOn": "S3Bucket", "Properties": { "Name": “MyRecordingConfiguration”, "DestinationConfiguration": { "S3": { "BucketName": { "Ref": "S3Bucket" } } }, "ThumbnailConfiguration": { "RecordingMode": "INTERVAL", "TargetIntervalSeconds": 60, "Storage": ["SEQUENTIAL", "LATEST"], "Resolution": "HD" }, "RenditionConfiguration": { "RenditionSelection": "CUSTOM", "Renditions": ["HD", "SD"] } } }, "Channel": { "Type": "AWS::IVS::Channel", "DependsOn": "RecordingConfiguration", "Properties": { "Name": "MyRecordedChannel", "RecordingConfigurationArn": { "Ref": "RecordingConfiguration" } } } } }

YAML

Resources: S3Bucket: Type: AWS::S3::Bucket RecordingConfiguration: Type: AWS::IVS::RecordingConfiguration DependsOn: S3Bucket Properties: Name: MyRecordingConfiguration DestinationConfiguration: S3: BucketName: !Ref S3Bucket ThumbnailConfiguration: RecordingMode: INTERVAL TargetIntervalSeconds: 60 Resolution: HD Storage: - SEQUENTIAL - LATEST RenditionConfiguration: RenditionSelection: CUSTOM Renditions: - HD - SD Channel: Type: AWS::IVS::Channel DependsOn: RecordingConfiguration Properties: Name: MyRecordedChannel RecordingConfigurationArn: !Ref RecordingConfiguration

See also