PublishLayerVersion - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

PublishLayerVersion

從 ZIP 封存中建立 AWS Lambda 層。每次以相同層名稱呼叫 PublishLayerVersion 時,就會建立新的版本。

使用 CreateFunctionUpdateFunctionConfiguration,將層新增至函數。

請求語法

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

layer 的名稱或 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

相容指令集架構的清單。

類型:字串陣列

陣列成員:最多 2 個項目。

有效值:x86_64 | arm64

必要:否

CompatibleRuntimes

相容函數執行時間的清單。用於使用 ListLayersListLayerVersions 進行篩選。

下列清單包含已淘汰的執行時間。如需詳細資訊,請參閱執行時間淘汰政策

類型:字串陣列

陣列成員:最多 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

函數 layer 封存。

類型:LayerVersionContentInput 物件

必要:是

Description

版本的描述。

類型:字串

長度限制:長度下限為 0。長度上限為 256。

必要:否

LicenseInfo

layer 的軟體授權。其可為下列任何一項:

  • SPDX 授權識別符。例如 MIT

  • 託管在網際網路上授權的 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

相容指令集架構的清單。

類型:字串陣列

陣列成員:最多 2 個項目。

有效值: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

有關層版本的詳細資訊。

類型:LayerVersionContentOutput 物件

CreatedDate

建立層版本的日期,採用 ISO-8601 格式 (YYYY-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

layer 版本的 ARN。

類型:字串

長度限制:長度下限為 1。長度上限為 140。

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

LicenseInfo

layer 的軟體授權。

類型:字串

長度限制:長度上限為 512。

Version

版本號碼。

類型:Long

錯誤

如需所有動作常見錯誤的資訊,請參閱常見錯誤

CodeStorageExceededException

您的 AWS 帳戶 已超過總程式碼大小上限。如需詳細資訊,請參閱 Lambda 配額

HTTP 狀態碼:400

InvalidParameterValueException

請求中的其中一個參數無效。

HTTP 狀態碼:400

ResourceNotFoundException

請求中指定的資源不存在。

HTTP 狀態碼:404

ServiceException

AWS Lambda 服務發生內部錯誤。

HTTP 狀態碼:500

TooManyRequestsException

超出請求輸送量限制。如需詳細資訊,請參閱 Lambda 配額

HTTP 狀態碼:429

另請參閱

如需在語言特定的 AWS 開發套件之一中使用此 API 的詳細資訊,請參閱下列說明: