Lambda / Client / publish_layer_version
publish_layer_version#
- Lambda.Client.publish_layer_version(**kwargs)#
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
Request Syntax
response = client.publish_layer_version( LayerName='string', Description='string', Content={ 'S3Bucket': 'string', 'S3Key': 'string', 'S3ObjectVersion': 'string', 'ZipFile': b'bytes' }, CompatibleRuntimes=[ 'nodejs'|'nodejs4.3'|'nodejs6.10'|'nodejs8.10'|'nodejs10.x'|'nodejs12.x'|'nodejs14.x'|'nodejs16.x'|'java8'|'java8.al2'|'java11'|'python2.7'|'python3.6'|'python3.7'|'python3.8'|'python3.9'|'dotnetcore1.0'|'dotnetcore2.0'|'dotnetcore2.1'|'dotnetcore3.1'|'dotnet6'|'nodejs4.3-edge'|'go1.x'|'ruby2.5'|'ruby2.7'|'provided'|'provided.al2'|'nodejs18.x', ], LicenseInfo='string', CompatibleArchitectures=[ 'x86_64'|'arm64', ] )
- Parameters:
LayerName (string) –
[REQUIRED]
The name or Amazon Resource Name (ARN) of the layer.
Description (string) – The description of the version.
Content (dict) –
[REQUIRED]
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.
ZipFile (bytes) –
The base64-encoded contents of the layer archive. Amazon Web Services SDK and Amazon Web Services CLI clients handle the encoding for you.
CompatibleRuntimes (list) –
A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
(string) –
LicenseInfo (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.
CompatibleArchitectures (list) –
A list of compatible instruction set architectures.
(string) –
- Return type:
dict
- Returns:
Response Syntax
{ 'Content': { 'Location': 'string', 'CodeSha256': 'string', 'CodeSize': 123, 'SigningProfileVersionArn': 'string', 'SigningJobArn': 'string' }, 'LayerArn': 'string', 'LayerVersionArn': 'string', 'Description': 'string', 'CreatedDate': 'string', 'Version': 123, 'CompatibleRuntimes': [ 'nodejs'|'nodejs4.3'|'nodejs6.10'|'nodejs8.10'|'nodejs10.x'|'nodejs12.x'|'nodejs14.x'|'nodejs16.x'|'java8'|'java8.al2'|'java11'|'python2.7'|'python3.6'|'python3.7'|'python3.8'|'python3.9'|'dotnetcore1.0'|'dotnetcore2.0'|'dotnetcore2.1'|'dotnetcore3.1'|'dotnet6'|'nodejs4.3-edge'|'go1.x'|'ruby2.5'|'ruby2.7'|'provided'|'provided.al2'|'nodejs18.x', ], 'LicenseInfo': 'string', 'CompatibleArchitectures': [ 'x86_64'|'arm64', ] }
Response Structure
(dict) –
Content (dict) –
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 (integer) –
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 (integer) –
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) –
Exceptions
Lambda.Client.exceptions.ServiceException
Lambda.Client.exceptions.ResourceNotFoundException
Lambda.Client.exceptions.TooManyRequestsException
Lambda.Client.exceptions.InvalidParameterValueException
Lambda.Client.exceptions.CodeStorageExceededException
Examples
The following example creates a new Python library layer version. The command retrieves the layer content a file named layer.zip in the specified S3 bucket.
response = client.publish_layer_version( CompatibleRuntimes=[ 'python3.6', 'python3.7', ], Content={ 'S3Bucket': 'lambda-layers-us-west-2-123456789012', 'S3Key': 'layer.zip', }, Description='My Python layer', LayerName='my-layer', LicenseInfo='MIT', ) print(response)
Expected Output:
{ 'CompatibleRuntimes': [ 'python3.6', 'python3.7', ], 'Content': { 'CodeSha256': 'tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=', 'CodeSize': 169, 'Location': 'https://awslambda-us-west-2-layers.s3.us-west-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...', }, 'CreatedDate': '2018-11-14T23:03:52.894+0000', 'Description': 'My Python layer', 'LayerArn': 'arn:aws:lambda:us-west-2:123456789012:layer:my-layer', 'LayerVersionArn': 'arn:aws:lambda:us-west-2:123456789012:layer:my-layer:1', 'LicenseInfo': 'MIT', 'Version': 1, 'ResponseMetadata': { '...': '...', }, }