[ aws . lambda ]

publish-version

Description

Creates a version from the current code and configuration of a function. Use versions to create a snapshot of your function code and configuration that doesn’t change.

AWS Lambda doesn’t publish a version if the function’s configuration and code haven’t changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before publishing a version.

Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias .

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  publish-version
--function-name <value>
[--code-sha256 <value>]
[--description <value>]
[--revision-id <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]

Options

--function-name (string)

The name of the Lambda function.

Name formats

  • Function name - MyFunction .

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction .

  • Partial ARN - 123456789012:function:MyFunction .

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

--code-sha256 (string)

Only publish a version if the hash value matches the value that’s specified. Use this option to avoid publishing a version if the function code has changed since you last updated it. You can get the hash for the version that you uploaded from the output of UpdateFunctionCode .

--description (string)

A description for the version to override the description in the function configuration.

--revision-id (string)

Only update the function if the revision ID matches the ID that’s specified. Use this option to avoid publishing a version if the function configuration has changed since you last updated it.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.

Examples

To publish a new version of a function

The following publish-version example publishes a new version of the my-function Lambda function.

aws lambda publish-version \
    --function-name my-function

Output:

{
    "TracingConfig": {
        "Mode": "PassThrough"
    },
    "CodeSha256": "dBG9m8SGdmlEjw/JYXlhhvCrAv5TxvXsbL/RMr0fT/I=",
    "FunctionName": "my-function",
    "CodeSize": 294,
    "RevisionId": "f31d3d39-cc63-4520-97d4-43cd44c94c20",
    "MemorySize": 128,
    "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:3",
    "Version": "2",
    "Role": "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4",
    "Timeout": 3,
    "LastModified": "2019-09-23T18:32:33.857+0000",
    "Handler": "my-function.handler",
    "Runtime": "nodejs10.x",
    "Description": ""
}

For more information, see Configuring AWS Lambda Function Aliases in the AWS Lambda Developer Guide.

Output

FunctionName -> (string)

The name of the function.

FunctionArn -> (string)

The function’s Amazon Resource Name (ARN).

Runtime -> (string)

The runtime environment for the Lambda function.

Role -> (string)

The function’s execution role.

Handler -> (string)

The function that Lambda calls to begin executing your function.

CodeSize -> (long)

The size of the function’s deployment package, in bytes.

Description -> (string)

The function’s description.

Timeout -> (integer)

The amount of time in seconds that Lambda allows a function to run before stopping it.

MemorySize -> (integer)

The memory that’s allocated to the function.

LastModified -> (string)

The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

CodeSha256 -> (string)

The SHA256 hash of the function’s deployment package.

Version -> (string)

The version of the Lambda function.

VpcConfig -> (structure)

The function’s networking configuration.

SubnetIds -> (list)

A list of VPC subnet IDs.

(string)

SecurityGroupIds -> (list)

A list of VPC security groups IDs.

(string)

VpcId -> (string)

The ID of the VPC.

DeadLetterConfig -> (structure)

The function’s dead letter queue.

TargetArn -> (string)

The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

Environment -> (structure)

The function’s environment variables.

Variables -> (map)

Environment variable key-value pairs.

key -> (string)

value -> (string)

Error -> (structure)

Error messages for environment variables that couldn’t be applied.

ErrorCode -> (string)

The error code.

Message -> (string)

The error message.

KMSKeyArn -> (string)

The KMS key that’s used to encrypt the function’s environment variables. This key is only returned if you’ve configured a customer managed CMK.

TracingConfig -> (structure)

The function’s AWS X-Ray tracing configuration.

Mode -> (string)

The tracing mode.

MasterArn -> (string)

For Lambda@Edge functions, the ARN of the master function.

RevisionId -> (string)

The latest updated revision of the function or alias.

Layers -> (list)

The function’s layers .

(structure)

An AWS Lambda layer .

Arn -> (string)

The Amazon Resource Name (ARN) of the function layer.

CodeSize -> (long)

The size of the layer archive in bytes.

State -> (string)

The current state of the function. When the state is Inactive , you can reactivate the function by invoking it.

StateReason -> (string)

The reason for the function’s current state.

StateReasonCode -> (string)

The reason code for the function’s current state. When the code is Creating , you can’t invoke or modify the function.

LastUpdateStatus -> (string)

The status of the last update that was performed on the function. This is first set to Successful after function creation completes.

LastUpdateStatusReason -> (string)

The reason for the last update that was performed on the function.

LastUpdateStatusReasonCode -> (string)

The reason code for the last update that was performed on the function.

FileSystemConfigs -> (list)

Connection settings for an Amazon EFS file system.

(structure)

Details about the connection between a Lambda function and an Amazon EFS file system.

Arn -> (string)

The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.

LocalMountPath -> (string)

The path where the function can access the file system, starting with /mnt/ .