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.
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.
publish-version
--function-name <value>
[--code-sha256 <value>]
[--description <value>]
[--revision-id <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--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.
See ‘aws help’ for descriptions of global parameters.
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.
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 amount of memory available to the function at runtime.
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 key.
TracingConfig -> (structure)
The function’s X-Ray tracing configuration.
Mode -> (string)
The tracing mode.
MasterArn -> (string)
For Lambda@Edge functions, the ARN of the main function.
RevisionId -> (string)
The latest updated revision of the function or alias.
Layers -> (list)
The function’s layers .
(structure)
An Lambda layer .
Arn -> (string)
The Amazon Resource Name (ARN) of the function layer.
CodeSize -> (long)
The size of the layer archive in bytes.
SigningProfileVersionArn -> (string)
The Amazon Resource Name (ARN) for a signing profile version.
SigningJobArn -> (string)
The Amazon Resource Name (ARN) of a signing job.
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/
.
PackageType -> (string)
The type of deployment package. Set to
Image
for container image and setZip
for .zip file archive.
ImageConfigResponse -> (structure)
The function’s image configuration values.
ImageConfig -> (structure)
Configuration values that override the container image Dockerfile.
EntryPoint -> (list)
Specifies the entry point to their application, which is typically the location of the runtime executable.
(string)
Command -> (list)
Specifies parameters that you want to pass in with ENTRYPOINT.
(string)
WorkingDirectory -> (string)
Specifies the working directory.
Error -> (structure)
Error response to GetFunctionConfiguration.
ErrorCode -> (string)
Error code.
Message -> (string)
Error message.
SigningProfileVersionArn -> (string)
The ARN of the signing profile version.
SigningJobArn -> (string)
The ARN of the signing job.
Architectures -> (list)
The instruction set architecture that the function supports. Architecture is a string array with one of the valid values. The default architecture value is
x86_64
.(string)
EphemeralStorage -> (structure)
The size of the function’s /tmp directory in MB. The default value is 512, but can be any whole number between 512 and 10240 MB.
Size -> (integer)
The size of the function’s /tmp directory.