Updates a Lambda function’s code. If code signing is enabled for the function, the code package must be signed by a trusted publisher. For more information, see Configuring code signing .
The function’s code is locked when you publish a version. You can’t modify the code of a published version, only the unpublished version.
Note
For a function defined as a container image, Lambda resolves the image tag to an image digest. In Amazon ECR, if you update the image tag to a new image, Lambda does not automatically update the function.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
update-function-code
--function-name <value>
[--zip-file <value>]
[--s3-bucket <value>]
[--s3-key <value>]
[--s3-object-version <value>]
[--image-uri <value>]
[--publish | --no-publish]
[--dry-run | --no-dry-run]
[--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 -
my-function
.Function ARN -
arn:aws:lambda:us-west-2:123456789012:function:my-function
.Partial ARN -
123456789012:function:my-function
.The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
--zip-file
(blob)
The path to the zip file of the {param_type} you are uploading. Specify –zip-file or –{param_type}, but not both. Example: fileb://{param_type}.zip
--s3-bucket
(string)
An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.
--s3-key
(string)
The Amazon S3 key of the deployment package.
--s3-object-version
(string)
For versioned objects, the version of the deployment package object to use.
--image-uri
(string)
URI of a container image in the Amazon ECR registry.
--publish
| --no-publish
(boolean)
Set to true to publish a new version of the function after updating the code. This has the same effect as calling PublishVersion separately.
--dry-run
| --no-dry-run
(boolean)
Set to true to validate the request parameters and access permissions without modifying the function code.
--revision-id
(string)
Only update the function if the revision ID matches the ID that’s specified. Use this option to avoid modifying a function that has changed since you last read 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 update the code of a Lambda function
The following update-function-code
example replaces the code of the unpublished ($LATEST) version of the my-function
function with the contents of the specified zip file.
aws lambda update-function-code \
--function-name my-function \
--zip-file fileb://my-function.zip
Output:
{
"FunctionName": "my-function",
"LastModified": "2019-09-26T20:28:40.438+0000",
"RevisionId": "e52502d4-9320-4688-9cd6-152a6ab7490d",
"MemorySize": 256,
"Version": "$LATEST",
"Role": "arn:aws:iam::123456789012:role/service-role/my-function-role-uy3l9qyq",
"Timeout": 3,
"Runtime": "nodejs10.x",
"TracingConfig": {
"Mode": "PassThrough"
},
"CodeSha256": "5tT2qgzYUHaqwR716pZ2dpkn/0J1FrzJmlKidWoaCgk=",
"Description": "",
"VpcConfig": {
"SubnetIds": [],
"VpcId": "",
"SecurityGroupIds": []
},
"CodeSize": 304,
"FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function",
"Handler": "index.handler"
}
For more information, see AWS Lambda Function Configuration 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 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.
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.