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',
]
)
[REQUIRED]
The name or Amazon Resource Name (ARN) of the layer.
[REQUIRED]
The function layer archive.
The Amazon S3 bucket of the layer archive.
The Amazon S3 key of the layer archive.
For versioned objects, the version of the layer archive object to use.
The base64-encoded contents of the layer archive. Amazon Web Services SDK and Amazon Web Services CLI clients handle the encoding for you.
A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.
The layer's software license. It can be any of the following:
MIT
.https://opensource.org/licenses/MIT
.A list of compatible instruction set architectures.
dict
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.
LicenseInfo (string) --
The layer's software license.
CompatibleArchitectures (list) --
A list of compatible instruction set architectures.
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': {
'...': '...',
},
}