CloudFront / Client / publish_function

publish_function#

CloudFront.Client.publish_function(**kwargs)#

Publishes a CloudFront function by copying the function code from the DEVELOPMENT stage to LIVE. This automatically updates all cache behaviors that are using this function to use the newly published copy in the LIVE stage.

When a function is published to the LIVE stage, you can attach the function to a distribution’s cache behavior, using the function’s Amazon Resource Name (ARN).

To publish a function, you must provide the function’s name and version ( ETag value). To get these values, you can use ListFunctions and DescribeFunction.

See also: AWS API Documentation

Request Syntax

response = client.publish_function(
    Name='string',
    IfMatch='string'
)
Parameters:
  • Name (string) –

    [REQUIRED]

    The name of the function that you are publishing.

  • IfMatch (string) –

    [REQUIRED]

    The current version ( ETag value) of the function that you are publishing, which you can get using DescribeFunction.

Return type:

dict

Returns:

Response Syntax

{
    'FunctionSummary': {
        'Name': 'string',
        'Status': 'string',
        'FunctionConfig': {
            'Comment': 'string',
            'Runtime': 'cloudfront-js-1.0'|'cloudfront-js-2.0',
            'KeyValueStoreAssociations': {
                'Quantity': 123,
                'Items': [
                    {
                        'KeyValueStoreARN': 'string'
                    },
                ]
            }
        },
        'FunctionMetadata': {
            'FunctionARN': 'string',
            'Stage': 'DEVELOPMENT'|'LIVE',
            'CreatedTime': datetime(2015, 1, 1),
            'LastModifiedTime': datetime(2015, 1, 1)
        }
    }
}

Response Structure

  • (dict) –

    • FunctionSummary (dict) –

      Contains configuration information and metadata about a CloudFront function.

      • Name (string) –

        The name of the CloudFront function.

      • Status (string) –

        The status of the CloudFront function.

      • FunctionConfig (dict) –

        Contains configuration information about a CloudFront function.

        • Comment (string) –

          A comment to describe the function.

        • Runtime (string) –

          The function’s runtime environment version.

        • KeyValueStoreAssociations (dict) –

          The configuration for the key value store associations.

          • Quantity (integer) –

            The quantity of key value store associations.

          • Items (list) –

            The items of the key value store association.

            • (dict) –

              The key value store association.

              • KeyValueStoreARN (string) –

                The Amazon Resource Name (ARN) of the key value store association.

      • FunctionMetadata (dict) –

        Contains metadata about a CloudFront function.

        • FunctionARN (string) –

          The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.

        • Stage (string) –

          The stage that the function is in, either DEVELOPMENT or LIVE.

          When a function is in the DEVELOPMENT stage, you can test the function with TestFunction, and update it with UpdateFunction.

          When a function is in the LIVE stage, you can attach the function to a distribution’s cache behavior, using the function’s ARN.

        • CreatedTime (datetime) –

          The date and time when the function was created.

        • LastModifiedTime (datetime) –

          The date and time when the function was most recently updated.

Exceptions

  • CloudFront.Client.exceptions.PreconditionFailed

  • CloudFront.Client.exceptions.UnsupportedOperation

  • CloudFront.Client.exceptions.InvalidArgument

  • CloudFront.Client.exceptions.NoSuchFunctionExists

  • CloudFront.Client.exceptions.InvalidIfMatchVersion