AWS Lambda
Developer Guide

PublishLayerVersion

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

Add layers to your function with CreateFunction or UpdateFunctionConfiguration.

Request Syntax

POST /2018-10-31/layers/LayerName/versions HTTP/1.1 Content-type: application/json { "CompatibleRuntimes": [ "string" ], "Content": { "S3Bucket": "string", "S3Key": "string", "S3ObjectVersion": "string", "ZipFile": blob }, "Description": "string", "LicenseInfo": "string" }

URI Request Parameters

The request requires the following URI parameters.

LayerName

The name of the layer.

Length Constraints: Minimum length of 1. Maximum length of 140.

Pattern: (arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+

Request Body

The request accepts the following data in JSON format.

CompatibleRuntimes

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

Type: Array of strings

Array Members: Maximum number of 5 items.

Valid Values: nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | java8 | python2.7 | python3.6 | python3.7 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | nodejs4.3-edge | go1.x | ruby2.5 | provided

Required: No

Content

The function layer archive.

Type: LayerVersionContentInput object

Required: Yes

Description

The description of the version.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

LicenseInfo

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.

Type: String

Length Constraints: Maximum length of 512.

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "CompatibleRuntimes": [ "string" ], "Content": { "CodeSha256": "string", "CodeSize": number, "Location": "string" }, "CreatedDate": "string", "Description": "string", "LayerArn": "string", "LayerVersionArn": "string", "LicenseInfo": "string", "Version": number }

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

CompatibleRuntimes

The layer's compatible runtimes.

Type: Array of strings

Array Members: Maximum number of 5 items.

Valid Values: nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | java8 | python2.7 | python3.6 | python3.7 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | nodejs4.3-edge | go1.x | ruby2.5 | provided

Content

Details about the layer version.

Type: LayerVersionContentOutput object

CreatedDate

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

Type: String

Description

The description of the version.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 256.

LayerArn

The Amazon Resource Name (ARN) of the function layer.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 140.

Pattern: arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+

LayerVersionArn

The ARN of the layer version.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 140.

Pattern: arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+

LicenseInfo

The layer's software license.

Type: String

Length Constraints: Maximum length of 512.

Version

The version number.

Type: Long

Errors

CodeStorageExceededException

You have exceeded your maximum total code size per account. Limits

HTTP Status Code: 400

InvalidParameterValueException

One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

HTTP Status Code: 400

ResourceNotFoundException

The resource (for example, a Lambda function or access policy statement) specified in the request does not exist.

HTTP Status Code: 404

ServiceException

The AWS Lambda service encountered an internal error.

HTTP Status Code: 500

TooManyRequestsException

Request throughput limit exceeded

HTTP Status Code: 429

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: