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 set Zip
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.
ncG1vNJzZmiZp6iwrbWNmqSasp%2Bjrri%2FjZympmemZ3ylu8KupJ6mpJbBqrvNaJipoV9ne3J6kXJmq52Wmr%2BmusKeZqWZnZexonvUqZuarJVis7a6wq2gqKZdmLylsY2hq6ak