CloudFront / Client / create_streaming_distribution

create_streaming_distribution#

CloudFront.Client.create_streaming_distribution(**kwargs)#

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.

See also: AWS API Documentation

Request Syntax

response = client.create_streaming_distribution(
    StreamingDistributionConfig={
        'CallerReference': 'string',
        'S3Origin': {
            'DomainName': 'string',
            'OriginAccessIdentity': 'string'
        },
        'Aliases': {
            'Quantity': 123,
            'Items': [
                'string',
            ]
        },
        'Comment': 'string',
        'Logging': {
            'Enabled': True|False,
            'Bucket': 'string',
            'Prefix': 'string'
        },
        'TrustedSigners': {
            'Enabled': True|False,
            'Quantity': 123,
            'Items': [
                'string',
            ]
        },
        'PriceClass': 'PriceClass_100'|'PriceClass_200'|'PriceClass_All',
        'Enabled': True|False
    }
)
Parameters:

StreamingDistributionConfig (dict) –

[REQUIRED]

The streaming distribution’s configuration information.

  • CallerReference (string) – [REQUIRED]

    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.

  • S3Origin (dict) – [REQUIRED]

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

    • DomainName (string) – [REQUIRED]

      The DNS name of the Amazon S3 origin.

    • OriginAccessIdentity (string) – [REQUIRED]

      The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

      If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

      To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

      To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

      For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon CloudFront Developer Guide.

  • Aliases (dict) –

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

    • Quantity (integer) – [REQUIRED]

      The number of CNAME aliases, if any, that you want to associate with this distribution.

    • Items (list) –

      A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

      • (string) –

  • Comment (string) – [REQUIRED]

    Any comments you want to include about the streaming distribution.

  • Logging (dict) –

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

    • Enabled (boolean) – [REQUIRED]

      Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don’t want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

    • Bucket (string) – [REQUIRED]

      The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

    • Prefix (string) – [REQUIRED]

      An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you don’t want to specify a prefix, you still must include an empty Prefix element in the Logging element.

  • TrustedSigners (dict) – [REQUIRED]

    A complex type that specifies any Amazon Web Services 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.

    • Enabled (boolean) – [REQUIRED]

      This field is true if any of the Amazon Web Services accounts have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies. If not, this field is false.

    • Quantity (integer) – [REQUIRED]

      The number of Amazon Web Services accounts in the list.

    • Items (list) –

      A list of Amazon Web Services account identifiers.

      • (string) –

  • PriceClass (string) –

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

  • Enabled (boolean) – [REQUIRED]

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

Return type:

dict

Returns:

Response Syntax

{
    'StreamingDistribution': {
        'Id': 'string',
        'ARN': 'string',
        'Status': 'string',
        'LastModifiedTime': datetime(2015, 1, 1),
        'DomainName': 'string',
        'ActiveTrustedSigners': {
            'Enabled': True|False,
            'Quantity': 123,
            'Items': [
                {
                    'AwsAccountNumber': 'string',
                    'KeyPairIds': {
                        'Quantity': 123,
                        'Items': [
                            'string',
                        ]
                    }
                },
            ]
        },
        'StreamingDistributionConfig': {
            'CallerReference': 'string',
            'S3Origin': {
                'DomainName': 'string',
                'OriginAccessIdentity': 'string'
            },
            'Aliases': {
                'Quantity': 123,
                'Items': [
                    'string',
                ]
            },
            'Comment': 'string',
            'Logging': {
                'Enabled': True|False,
                'Bucket': 'string',
                'Prefix': 'string'
            },
            'TrustedSigners': {
                'Enabled': True|False,
                'Quantity': 123,
                'Items': [
                    'string',
                ]
            },
            'PriceClass': 'PriceClass_100'|'PriceClass_200'|'PriceClass_All',
            'Enabled': True|False
        }
    },
    'Location': 'string',
    'ETag': 'string'
}

Response Structure

  • (dict) –

    The returned result of the corresponding request.

    • StreamingDistribution (dict) –

      The streaming distribution’s information.

      • Id (string) –

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

      • ARN (string) –

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

      • Status (string) –

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

      • LastModifiedTime (datetime) –

        The date and time that the distribution was last modified.

      • DomainName (string) –

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

      • ActiveTrustedSigners (dict) –

        A complex type that lists the Amazon Web Services 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 Amazon Web Services account number of the trusted signer or self if the signer is the Amazon Web Services 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 Amazon Web Services 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.

        • Enabled (boolean) –

          This field is true if any of the Amazon Web Services accounts in the list have active CloudFront key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies. If not, this field is false.

        • Quantity (integer) –

          The number of Amazon Web Services accounts in the list.

        • Items (list) –

          A list of Amazon Web Services accounts and the identifiers of active CloudFront key pairs in each account that CloudFront can use to verify the signatures of signed URLs and signed cookies.

          • (dict) –

            A list of Amazon Web Services accounts and the active CloudFront key pairs in each account that CloudFront can use to verify the signatures of signed URLs and signed cookies.

            • AwsAccountNumber (string) –

              An Amazon Web Services account number that contains active CloudFront key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies. If the Amazon Web Services account that owns the key pairs is the same account that owns the CloudFront distribution, the value of this field is self.

            • KeyPairIds (dict) –

              A list of CloudFront key pair identifiers.

              • Quantity (integer) –

                The number of key pair identifiers in the list.

              • Items (list) –

                A list of CloudFront key pair identifiers.

                • (string) –

      • StreamingDistributionConfig (dict) –

        The current configuration information for the RTMP distribution.

        • CallerReference (string) –

          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.

        • S3Origin (dict) –

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

          • DomainName (string) –

            The DNS name of the Amazon S3 origin.

          • OriginAccessIdentity (string) –

            The CloudFront origin access identity to associate with the distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

            If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

            To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

            To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

            For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon CloudFront Developer Guide.

        • Aliases (dict) –

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

          • Quantity (integer) –

            The number of CNAME aliases, if any, that you want to associate with this distribution.

          • Items (list) –

            A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

            • (string) –

        • Comment (string) –

          Any comments you want to include about the streaming distribution.

        • Logging (dict) –

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

          • Enabled (boolean) –

            Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don’t want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

          • Bucket (string) –

            The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

          • Prefix (string) –

            An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you don’t want to specify a prefix, you still must include an empty Prefix element in the Logging element.

        • TrustedSigners (dict) –

          A complex type that specifies any Amazon Web Services 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.

          • Enabled (boolean) –

            This field is true if any of the Amazon Web Services accounts have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies. If not, this field is false.

          • Quantity (integer) –

            The number of Amazon Web Services accounts in the list.

          • Items (list) –

            A list of Amazon Web Services account identifiers.

            • (string) –

        • PriceClass (string) –

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

        • Enabled (boolean) –

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

    • Location (string) –

      The fully qualified URI of the new streaming distribution resource just created.

    • ETag (string) –

      The current version of the streaming distribution created.

Exceptions

  • CloudFront.Client.exceptions.CNAMEAlreadyExists

  • CloudFront.Client.exceptions.StreamingDistributionAlreadyExists

  • CloudFront.Client.exceptions.InvalidOrigin

  • CloudFront.Client.exceptions.InvalidOriginAccessIdentity

  • CloudFront.Client.exceptions.InvalidOriginAccessControl

  • CloudFront.Client.exceptions.AccessDenied

  • CloudFront.Client.exceptions.TooManyTrustedSigners

  • CloudFront.Client.exceptions.TrustedSignerDoesNotExist

  • CloudFront.Client.exceptions.MissingBody

  • CloudFront.Client.exceptions.TooManyStreamingDistributionCNAMEs

  • CloudFront.Client.exceptions.TooManyStreamingDistributions

  • CloudFront.Client.exceptions.InvalidArgument

  • CloudFront.Client.exceptions.InconsistentQuantities