Creates an 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.
publish-layer-version
--layer-name <value>
[--description <value>]
[--content <value>]
[--compatible-runtimes <value>]
[--license-info <value>]
[--compatible-architectures <value>]
[--zip-file <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
--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
nodejs14.x
java8
java8.al2
java11
python2.7
python3.6
python3.7
python3.8
python3.9
dotnetcore1.0
dotnetcore2.0
dotnetcore2.1
dotnetcore3.1
nodejs4.3-edge
go1.x
ruby2.5
ruby2.7
provided
provided.al2
--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.
--compatible-architectures
(list)
A list of compatible instruction set architectures .
(string)
Syntax:
"string" "string" ...
Where valid values are:
x86_64
arm64
--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.
See ‘aws help’ for descriptions of global parameters.
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.
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.
SigningProfileVersionArn -> (string)
The Amazon Resource Name (ARN) for a signing profile version.
SigningJobArn -> (string)
The Amazon Resource Name (ARN) of a signing job.
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.
CompatibleArchitectures -> (list)
A list of compatible instruction set architectures .
(string)