[ aws . lambda ]

update-function-code

Description

Updates a Lambda function’s code.

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.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  update-function-code
--function-name <value>
[--zip-file <value>]
[--s3-bucket <value>]
[--s3-key <value>]
[--s3-object-version <value>]
[--publish | --no-publish]
[--dry-run | --no-dry-run]
[--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 - 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.

--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.

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

See ‘aws help’ for descriptions of global parameters.

Examples

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.

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/ .