CreateStreamingDistribution - Amazon CloudFront

CreateStreamingDistribution

This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on December 31, 2020. For more information, read the announcement on the Amazon CloudFront discussion forum.

Request Syntax

POST /2020-05-31/streaming-distribution HTTP/1.1 <?xml version="1.0" encoding="UTF-8"?> <StreamingDistributionConfig xmlns="http://cloudfront.amazonaws.com/doc/2020-05-31/"> <Aliases> <Items> <CNAME>string</CNAME> </Items> <Quantity>integer</Quantity> </Aliases> <CallerReference>string</CallerReference> <Comment>string</Comment> <Enabled>boolean</Enabled> <Logging> <Bucket>string</Bucket> <Enabled>boolean</Enabled> <Prefix>string</Prefix> </Logging> <PriceClass>string</PriceClass> <S3Origin> <DomainName>string</DomainName> <OriginAccessIdentity>string</OriginAccessIdentity> </S3Origin> <TrustedSigners> <Enabled>boolean</Enabled> <Items> <AwsAccountNumber>string</AwsAccountNumber> </Items> <Quantity>integer</Quantity> </TrustedSigners> </StreamingDistributionConfig>

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in XML format.

StreamingDistributionConfig

Root level tag for the StreamingDistributionConfig parameters.

Required: Yes

Aliases

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

Type: Aliases object

Required: No

CallerReference

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the StreamingDistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value that you already sent in a previous request to create a distribution, CloudFront returns a DistributionAlreadyExists error.

Type: String

Required: Yes

Comment

Any comments you want to include about the streaming distribution.

Type: String

Required: Yes

Enabled

Whether the streaming distribution is enabled to accept user requests for content.

Type: Boolean

Required: Yes

Logging

A complex type that controls whether access logs are written for the streaming distribution.

Type: StreamingLoggingConfig object

Required: No

PriceClass

A complex type that contains information about price class for this streaming distribution.

Type: String

Valid Values: PriceClass_100 | PriceClass_200 | PriceClass_All

Required: No

S3Origin

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

Type: S3Origin object

Required: Yes

TrustedSigners

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

Type: TrustedSigners object

Required: Yes

Response Syntax

HTTP/1.1 201 <?xml version="1.0" encoding="UTF-8"?> <StreamingDistribution> <ActiveTrustedSigners> <Enabled>boolean</Enabled> <Items> <Signer> <AwsAccountNumber>string</AwsAccountNumber> <KeyPairIds> <Items> <KeyPairId>string</KeyPairId> </Items> <Quantity>integer</Quantity> </KeyPairIds> </Signer> </Items> <Quantity>integer</Quantity> </ActiveTrustedSigners> <ARN>string</ARN> <DomainName>string</DomainName> <Id>string</Id> <LastModifiedTime>timestamp</LastModifiedTime> <Status>string</Status> <StreamingDistributionConfig> <Aliases> <Items> <CNAME>string</CNAME> </Items> <Quantity>integer</Quantity> </Aliases> <CallerReference>string</CallerReference> <Comment>string</Comment> <Enabled>boolean</Enabled> <Logging> <Bucket>string</Bucket> <Enabled>boolean</Enabled> <Prefix>string</Prefix> </Logging> <PriceClass>string</PriceClass> <S3Origin> <DomainName>string</DomainName> <OriginAccessIdentity>string</OriginAccessIdentity> </S3Origin> <TrustedSigners> <Enabled>boolean</Enabled> <Items> <AwsAccountNumber>string</AwsAccountNumber> </Items> <Quantity>integer</Quantity> </TrustedSigners> </StreamingDistributionConfig> </StreamingDistribution>

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in XML format by the service.

StreamingDistribution

Root level tag for the StreamingDistribution parameters.

Required: Yes

ActiveTrustedSigners

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

Type: ActiveTrustedSigners object

ARN

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

Type: String

DomainName

The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net.

Type: String

Id

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

Type: String

LastModifiedTime

The date and time that the distribution was last modified.

Type: Timestamp

Status

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

Type: String

StreamingDistributionConfig

The current configuration information for the RTMP distribution.

Type: StreamingDistributionConfig object

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDenied

Access denied.

HTTP Status Code: 403

CNAMEAlreadyExists

The CNAME specified is already defined for CloudFront.

HTTP Status Code: 409

InconsistentQuantities

The value of Quantity and the size of Items don't match.

HTTP Status Code: 400

InvalidArgument

An argument is invalid.

HTTP Status Code: 400

InvalidOrigin

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

HTTP Status Code: 400

InvalidOriginAccessControl

The origin access control is not valid.

HTTP Status Code: 400

InvalidOriginAccessIdentity

The origin access identity is not valid or doesn't exist.

HTTP Status Code: 400

MissingBody

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

HTTP Status Code: 400

StreamingDistributionAlreadyExists

The caller reference you attempted to create the streaming distribution with is associated with another distribution

HTTP Status Code: 409

TooManyStreamingDistributionCNAMEs

Your request contains more CNAMEs than are allowed per distribution.

HTTP Status Code: 400

TooManyStreamingDistributions

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

HTTP Status Code: 400

TooManyTrustedSigners

Your request contains more trusted signers than are allowed per distribution.

HTTP Status Code: 400

TrustedSignerDoesNotExist

One or more of your trusted signers don't exist.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: