

# PublishLayerVersion
<a name="API_PublishLayerVersion"></a>

从 ZIP 归档中创建某个 [AWS Lambda 层](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)。每次使用相同的层名称调用 `PublishLayerVersion` 时，将会创建新的版本。

使用 [CreateFunction](API_CreateFunction.md) 或 [UpdateFunctionConfiguration](API_UpdateFunctionConfiguration.md) 将层添加到您的函数。

## 请求语法
<a name="API_PublishLayerVersion_RequestSyntax"></a>

```
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 请求参数
<a name="API_PublishLayerVersion_RequestParameters"></a>

请求使用以下 URI 参数。

 ** [LayerName](#API_PublishLayerVersion_RequestSyntax) **   <a name="lambda-PublishLayerVersion-request-LayerName"></a>
层的名称或 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-_]+`  
必需：是

## 请求体
<a name="API_PublishLayerVersion_RequestBody"></a>

请求接受采用 JSON 格式的以下数据。

 ** [CompatibleArchitectures](#API_PublishLayerVersion_RequestSyntax) **   <a name="lambda-PublishLayerVersion-request-CompatibleArchitectures"></a>
兼容[指令集架构](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html)列表。  
类型：字符串数组  
数组成员：最多 15 项。  
有效值：`x86_64 | arm64`  
必需：否

 ** [CompatibleRuntimes](#API_PublishLayerVersion_RequestSyntax) **   <a name="lambda-PublishLayerVersion-request-CompatibleRuntimes"></a>
兼容的[函数运行时](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)列表。用于使用 [ListLayers](API_ListLayers.md) 和 [ListLayerVersions](API_ListLayerVersions.md) 进行筛选。  
以下列表包括已弃用的运行时。有关更多信息，请参阅[运行时弃用策略](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy)。  
类型：字符串数组  
数组成员：最多 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](#API_PublishLayerVersion_RequestSyntax) **   <a name="lambda-PublishLayerVersion-request-Content"></a>
函数层存档。  
类型：[LayerVersionContentInput](API_LayerVersionContentInput.md) 对象  
必需：是

 ** [Description](#API_PublishLayerVersion_RequestSyntax) **   <a name="lambda-PublishLayerVersion-request-Description"></a>
关于版本的描述。  
类型：字符串  
长度约束：最小长度为 0。长度上限为 256。  
必需：否

 ** [LicenseInfo](#API_PublishLayerVersion_RequestSyntax) **   <a name="lambda-PublishLayerVersion-request-LicenseInfo"></a>
层的软件许可证。它可以是以下任一种：  
+ [SPDX 许可证标识符](https://spdx.org/licenses/)。例如，`MIT`。
+ 在 Internet 上托管的许可证的 URL。例如，`https://opensource.org/licenses/MIT`。
+ 许可证全文。
类型：字符串  
长度约束：最大长度为 512。  
必需：否

## 响应语法
<a name="API_PublishLayerVersion_ResponseSyntax"></a>

```
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
}
```

## 响应元素
<a name="API_PublishLayerVersion_ResponseElements"></a>

如果此操作成功，则该服务将会发送回 HTTP 201 响应。

服务以 JSON 格式返回的以下数据。

 ** [CompatibleArchitectures](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-CompatibleArchitectures"></a>
兼容[指令集架构](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html)列表。  
类型：字符串数组  
数组成员：最多 15 项。  
有效值：`x86_64 | arm64`

 ** [CompatibleRuntimes](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-CompatibleRuntimes"></a>
层的兼容运行时。  
以下列表包括已弃用的运行时。有关更多信息，请参阅[运行时弃用策略](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy)。  
类型：字符串数组  
数组成员：最多 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](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-Content"></a>
有关层版本的详细信息。  
类型：[LayerVersionContentOutput](API_LayerVersionContentOutput.md) 对象

 ** [CreatedDate](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-CreatedDate"></a>
层版本的创建日期，为 [ISO-8601 格式](https://www.w3.org/TR/NOTE-datetime) (YYYYY-MM-DDThh:mm:ss.sTZD)。  
类型：字符串

 ** [Description](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-Description"></a>
关于版本的描述。  
类型：字符串  
长度约束：最小长度为 0。长度上限为 256。

 ** [LayerArn](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-LayerArn"></a>
层的 ARN。  
类型：字符串  
长度限制：最小长度为 1。长度上限为 140。  
模式：`arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+`

 ** [LayerVersionArn](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-LayerVersionArn"></a>
层版本的 ARN。  
类型：字符串  
长度限制：最小长度为 1。长度上限为 140。  
模式：`arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+`

 ** [LicenseInfo](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-LicenseInfo"></a>
层的软件许可证。  
类型：字符串  
长度约束：最大长度为 512。

 ** [Version](#API_PublishLayerVersion_ResponseSyntax) **   <a name="lambda-PublishLayerVersion-response-Version"></a>
版本号。  
类型：长整型

## 错误
<a name="API_PublishLayerVersion_Errors"></a>

有关所有操作返回的常见错误的信息，请参阅 [常见错误](CommonErrors.md)。

 ** CodeStorageExceededException **   
您的 AWS 账户 已超出最大总代码大小。有关更多信息，请参阅 [Lambda 限额](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)。  
HTTP 状态代码：400

 ** InvalidParameterValueException **   
请求中的参数之一无效。  
HTTP 状态代码：400

 ** ResourceNotFoundException **   
请求中指定的资源不存在。  
HTTP 状态代码：404

 ** ServiceException **   
AWS Lambda 服务遇到了内部错误。  
HTTP 状态代码：500

 ** TooManyRequestsException **   
超出了请求吞吐量限制。有关更多信息，请参阅 [Lambda 限额](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests)。  
HTTP 状态代码：429

## 另请参阅
<a name="API_PublishLayerVersion_SeeAlso"></a>

有关在特定语言的 AWS SDK 中使用此 API 的更多信息，请参阅以下内容：
+  [AWS 命令行界面](https://docs.aws.amazon.com/goto/aws-cli/lambda-2015-03-31/PublishLayerVersion) 
+  [适用于 .NET 的 AWS SDK](https://docs.aws.amazon.com/goto/DotNetSDKV3/lambda-2015-03-31/PublishLayerVersion) 
+  [适用于 C\$1\$1 的 AWS SDK](https://docs.aws.amazon.com/goto/SdkForCpp/lambda-2015-03-31/PublishLayerVersion) 
+  [适用于 Go 的 AWS SDK](https://docs.aws.amazon.com/goto/SdkForGoV1/lambda-2015-03-31/PublishLayerVersion) 
+  [适用于 Java V2 的 AWS SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/lambda-2015-03-31/PublishLayerVersion) 
+  [AWS 适用于 JavaScript 的开发工具包 V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/lambda-2015-03-31/PublishLayerVersion) 
+  [适用于 PHP V3 的 AWS SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/lambda-2015-03-31/PublishLayerVersion) 
+  [适用于 Python 的 AWS SDK](https://docs.aws.amazon.com/goto/boto3/lambda-2015-03-31/PublishLayerVersion) 
+  [适用于 Ruby V3 的 AWS SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/lambda-2015-03-31/PublishLayerVersion) 