Skip to content

Latest commit

 

History

History
167 lines (131 loc) · 8.6 KB

File metadata and controls

167 lines (131 loc) · 8.6 KB

PublishLayerVersion

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.

Request Syntax

POST /2018-10-31/layers/LayerName/versions HTTP/1.1
Content-type: application/json

{
   "[CompatibleRuntimes](#SSS-PublishLayerVersion-request-CompatibleRuntimes)": [ "string" ],
   "[Content](#SSS-PublishLayerVersion-request-Content)": { 
      "[S3Bucket](API_LayerVersionContentInput.md#SSS-Type-LayerVersionContentInput-S3Bucket)": "string",
      "[S3Key](API_LayerVersionContentInput.md#SSS-Type-LayerVersionContentInput-S3Key)": "string",
      "[S3ObjectVersion](API_LayerVersionContentInput.md#SSS-Type-LayerVersionContentInput-S3ObjectVersion)": "string",
      "[ZipFile](API_LayerVersionContentInput.md#SSS-Type-LayerVersionContentInput-ZipFile)": blob
   },
   "[Description](#SSS-PublishLayerVersion-request-Description)": "string",
   "[LicenseInfo](#SSS-PublishLayerVersion-request-LicenseInfo)": "string"
}

URI Request Parameters

The request requires the following URI parameters.

** LayerName ** The name or Amazon Resource Name (ARN) 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: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | dotnetcore2.1 | dotnetcore3.1 | go1.x | ruby2.5 | ruby2.7 | 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](#SSS-PublishLayerVersion-response-CompatibleRuntimes)": [ "string" ],
   "[Content](#SSS-PublishLayerVersion-response-Content)": { 
      "[CodeSha256](API_LayerVersionContentOutput.md#SSS-Type-LayerVersionContentOutput-CodeSha256)": "string",
      "[CodeSize](API_LayerVersionContentOutput.md#SSS-Type-LayerVersionContentOutput-CodeSize)": number,
      "[Location](API_LayerVersionContentOutput.md#SSS-Type-LayerVersionContentOutput-Location)": "string"
   },
   "[CreatedDate](#SSS-PublishLayerVersion-response-CreatedDate)": "string",
   "[Description](#SSS-PublishLayerVersion-response-Description)": "string",
   "[LayerArn](#SSS-PublishLayerVersion-response-LayerArn)": "string",
   "[LayerVersionArn](#SSS-PublishLayerVersion-response-LayerVersionArn)": "string",
   "[LicenseInfo](#SSS-PublishLayerVersion-response-LicenseInfo)": "string",
   "[Version](#SSS-PublishLayerVersion-response-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: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | dotnetcore2.1 | dotnetcore3.1 | go1.x | ruby2.5 | ruby2.7 | 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 ARN of the 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. Learn more
HTTP Status Code: 400

InvalidParameterValueException
One of the parameters in the request is invalid.
HTTP Status Code: 400

ResourceNotFoundException
The resource 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
The request throughput limit was 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: