PublishLayerVersion
从 ZIP 归档中创建某个 AWS Lambda 层。每次使用相同的层名称调用 PublishLayerVersion
时,将会创建新的版本。
使用 CreateFunction 或 UpdateFunctionConfiguration 将层添加到您的函数。
请求语法
POST /2018-10-31/layers/LayerName
/versions HTTP/1.1
Content-type: application/json
{
"CompatibleArchitectures": [ "string
" ],
"CompatibleRuntimes": [ "string
" ],
"Content": {
"S3Bucket": "string
",
"S3Key": "string
",
"S3ObjectVersion": "string
",
"ZipFile": blob
},
"Description": "string
",
"LicenseInfo": "string
"
}
URI 请求参数
请求使用以下 URI 参数。
- LayerName
-
层的名称或 Amazon Resource Name (ARN)。
长度限制:最小长度为 1。长度上限为 140。
模式:
(arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+
必需:是
请求体
请求接受采用 JSON 格式的以下数据。
- CompatibleArchitectures
-
兼容指令集架构列表。
类型:字符串数组
数组成员:最多 15 项。
有效值:
x86_64 | arm64
必需:否
- CompatibleRuntimes
-
兼容的函数运行时列表。用于使用 ListLayers 和 ListLayerVersions 进行筛选。
以下列表包括已弃用的运行时。有关更多信息,请参阅运行时弃用策略。
类型:字符串数组
数组成员:最多 15 项。
有效值:
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 | python3.10 | java17 | ruby3.2 | python3.11 | nodejs20.x | provided.al2023 | python3.12 | java21
必需:否
- Content
-
函数层存档。
类型:LayerVersionContentInput 对象
必需:是
- Description
-
关于版本的描述。
类型:字符串
长度约束:最小长度为 0。长度上限为 256。
必需:否
- LicenseInfo
-
层的软件许可证。它可以是以下任一种:
-
SPDX 许可证标识符
。例如, MIT
。 -
在 Internet 上托管的许可证的 URL。例如,
https://opensource.org/licenses/MIT
。 -
许可证全文。
类型:字符串
长度约束:最大长度为 512。
必需:否
-
响应语法
HTTP/1.1 201
Content-type: application/json
{
"CompatibleArchitectures": [ "string" ],
"CompatibleRuntimes": [ "string" ],
"Content": {
"CodeSha256": "string",
"CodeSize": number,
"Location": "string",
"SigningJobArn": "string",
"SigningProfileVersionArn": "string"
},
"CreatedDate": "string",
"Description": "string",
"LayerArn": "string",
"LayerVersionArn": "string",
"LicenseInfo": "string",
"Version": number
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 201 响应。
服务以 JSON 格式返回的以下数据。
- CompatibleArchitectures
-
兼容指令集架构列表。
类型:字符串数组
数组成员:最多 15 项。
有效值:
x86_64 | arm64
- CompatibleRuntimes
-
层的兼容运行时。
以下列表包括已弃用的运行时。有关更多信息,请参阅运行时弃用策略。
类型:字符串数组
数组成员:最多 15 项。
有效值:
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 | python3.10 | java17 | ruby3.2 | python3.11 | nodejs20.x | provided.al2023 | python3.12 | java21
- Content
-
有关层版本的详细信息。
- CreatedDate
-
层版本的创建日期,为 ISO-8601 格式
(YYYYY-MM-DDThh:mm:ss.sTZD)。 类型:字符串
- Description
-
关于版本的描述。
类型:字符串
长度约束:最小长度为 0。长度上限为 256。
- LayerArn
-
层的 ARN。
类型:字符串
长度限制:最小长度为 1。长度上限为 140。
模式:
arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+
- LayerVersionArn
-
层版本的 ARN。
类型:字符串
长度限制:最小长度为 1。长度上限为 140。
模式:
arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+
- LicenseInfo
-
层的软件许可证。
类型:字符串
长度约束:最大长度为 512。
- Version
-
版本号。
类型:长整型
错误
有关所有操作返回的常见错误的信息,请参阅 常见错误。
- CodeStorageExceededException
-
您的 AWS 账户 已超出最大总代码大小。有关更多信息,请参阅 Lambda 限额。
HTTP 状态代码:400
- InvalidParameterValueException
-
请求中的参数之一无效。
HTTP 状态代码:400
- ResourceNotFoundException
-
请求中指定的资源不存在。
HTTP 状态代码:404
- ServiceException
-
AWS Lambda 服务遇到了内部错误。
HTTP 状态代码:500
- TooManyRequestsException
-
超出了请求吞吐量限制。有关更多信息,请参阅 Lambda 限额。
HTTP 状态代码:429
另请参阅
有关在特定语言的 AWS SDK 中使用此 API 的更多信息,请参阅以下内容: