[ aws . lambda ]

publish-layer-version

Description

Creates an AWS Lambda layer from a ZIP archive. Each time you call PublishLayerVersion with the same layer name, a new version is created.

Add layers to your function with CreateFunction or UpdateFunctionConfiguration .

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  publish-layer-version
--layer-name <value>
[--description <value>]
[--content <value>]
[--compatible-runtimes <value>]
[--license-info <value>]
[--zip-file <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]

Options

--layer-name (string)

The name or Amazon Resource Name (ARN) of the layer.

--description (string)

The description of the version.

--content (structure)

The function layer archive.

S3Bucket -> (string)

The Amazon S3 bucket of the layer archive.

S3Key -> (string)

The Amazon S3 key of the layer archive.

S3ObjectVersion -> (string)

For versioned objects, the version of the layer archive object to use.

Shorthand Syntax:

S3Bucket=string,S3Key=string,S3ObjectVersion=string

JSON Syntax:

{
  "S3Bucket": "string",
  "S3Key": "string",
  "S3ObjectVersion": "string"
}

--compatible-runtimes (list)

A list of compatible function runtimes . Used for filtering with ListLayers and ListLayerVersions .

(string)

Syntax:

"string" "string" ...

Where valid values are:
  nodejs
  nodejs4.3
  nodejs6.10
  nodejs8.10
  nodejs10.x
  nodejs12.x
  java8
  java11
  python2.7
  python3.6
  python3.7
  python3.8
  dotnetcore1.0
  dotnetcore2.0
  dotnetcore2.1
  dotnetcore3.1
  nodejs4.3-edge
  go1.x
  ruby2.5
  ruby2.7
  provided

--license-info (string)

The layer’s software license. It can be any of the following:

  • An SPDX license identifier . For example, MIT .

  • The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT .

  • The full text of the license.

--zip-file (blob)

The path to the zip file of the content you are uploading. Specify –zip-file or –content, but not both. Example: fileb://content.zip

--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 create a Lambda layer version

The following publish-layer-version example creates a new Python library layer version. The command retrieves the layer content a file named layer.zip in the specified S3 bucket.

aws lambda publish-layer-version \
    --layer-name my-layer \
    --description "My Python layer" \
    --license-info "MIT" \
    --content S3Bucket=lambda-layers-us-west-2-123456789012,S3Key=layer.zip \
    --compatible-runtimes python3.6 python3.7

Output:

{
    "Content": {
        "Location": "https://awslambda-us-west-2-layers.s3.us-west-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...",
        "CodeSha256": "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=",
        "CodeSize": 169
    },
    "LayerArn": "arn:aws:lambda:us-west-2:123456789012:layer:my-layer",
    "LayerVersionArn": "arn:aws:lambda:us-west-2:123456789012:layer:my-layer:1",
    "Description": "My Python layer",
    "CreatedDate": "2018-11-14T23:03:52.894+0000",
    "Version": 1,
    "LicenseInfo": "MIT",
    "CompatibleRuntimes": [
        "python3.6",
        "python3.7"
    ]
}

For more information, see AWS Lambda Layers in the AWS Lambda Developer Guide.

Output

Content -> (structure)

Details about the layer version.

Location -> (string)

A link to the layer archive in Amazon S3 that is valid for 10 minutes.

CodeSha256 -> (string)

The SHA-256 hash of the layer archive.

CodeSize -> (long)

The size of the layer archive in bytes.

LayerArn -> (string)

The ARN of the layer.

LayerVersionArn -> (string)

The ARN of the layer version.

Description -> (string)

The description of the version.

CreatedDate -> (string)

The date that the layer version was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

Version -> (long)

The version number.

CompatibleRuntimes -> (list)

The layer’s compatible runtimes.

(string)

LicenseInfo -> (string)

The layer’s software license.