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
} }
YAML
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
-
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
-
RecordingConfiguration API data type
-
DestinationConfiguration API data type
-
S3DestinationConfiguration API data type
-
CreateRecordingConfiguration API endpoint