AWS::Serverless::LayerVersion - AWS Serverless Application Model

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

AWS::Serverless::LayerVersion

建立 Lambda LayerVersion ,其中包含 Lambda 函數所需的程式庫或執行階段程式碼。

該AWS::Serverless::LayerVersion資源還支持 Metadata resource 屬性,因此您可以指示 AWS SAM 構建包含在應用程序中的層。如需建置圖層的更多資訊,請參閱〈〉在中建置 Lambda 圖層 AWS SAM

重要注意事項:自中的UpdateReplacePolicy資源屬性發行以來 AWS CloudFormation,AWS::Lambda::LayerVersion(建議) 提供與中相同的優點AWS::Serverless::LayerVersion。

轉換無伺服器 LayerVersion 時,SAM 也會轉換資源的邏輯 ID,以便 LayerVersions 在資源更新 CloudFormation 時不會自動刪除舊的 ID。

注意

當您部署到時 AWS CloudFormation,將您的 AWS SAM 資源 AWS SAM 轉換為 AWS CloudFormation 資源。如需詳細資訊,請參閱 產生的 AWS CloudFormation 資源 AWS SAM

語法

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。

YAML

Type: AWS::Serverless::LayerVersion Properties: CompatibleArchitectures: List CompatibleRuntimes: List ContentUri: String | LayerContent Description: String LayerName: String LicenseInfo: String RetentionPolicy: String

屬性

CompatibleArchitectures

指定圖層版本支援的指令集架構。

如需有關此屬性的詳細資訊,請參閱AWS Lambda 開發人員指南中的 Lambda 指令集架構

有效值x86_64arm64

類型:列表

必要:否

預設x86_64

AWS CloudFormation 兼容性:此屬性直接傳遞給AWS::Lambda::LayerVersion資源的CompatibleArchitectures屬性。

CompatibleRuntimes

與此 LayerVersion相容的執行階段清單。

類型:列表

必要:否

AWS CloudFormation 兼容性:此屬性直接傳遞給AWS::Lambda::LayerVersion資源的CompatibleRuntimes屬性。

ContentUri

Amazon S3 Uri,路徑到本地文件夾,或層代碼的 LayerContent 對象。

如果提供了 Amazon S3 Uri 或 LayerContent 物件,則所參照的 Amazon S3 物件必須是包含 Lambda 層內容的有效 ZIP 存檔。

如果提供了本機資料夾的路徑,要正確轉換內容,範本必須經過包含sam deploy或之sam build後的工作流程sam package。依預設,相對路徑會根據 AWS SAM 樣板的位置進行解析。

類型:字符串 | LayerContent

必要:是

AWS CloudFormation 兼容性:此屬性類似於AWS::Lambda::LayerVersion資源的Content屬性。巢狀 Amazon S3 屬性的名稱不同。

Description

此圖層的描述。

類型:字串

必要:否

AWS CloudFormation 兼容性:此屬性直接傳遞給AWS::Lambda::LayerVersion資源的Description屬性。

LayerName

layer 的名稱或 Amazon Resource Name (ARN)。

類型:字串

必要:否

預設值:資源邏輯 ID

AWS CloudFormation 兼容性:此屬性類似於AWS::Lambda::LayerVersion資源的LayerName屬性。如果您未指定名稱,則會使用資源的邏輯 ID 做為名稱。

LicenseInfo

有關此授權的資訊 LayerVersion。

類型:字串

必要:否

AWS CloudFormation 兼容性:此屬性直接傳遞給AWS::Lambda::LayerVersion資源的LicenseInfo屬性。

RetentionPolicy

此屬性指定刪除資源時,LayerVersion是否保留或刪除舊版本。如果您在更新或取代資源LayerVersion時需要保留舊版本的,則必須啟用UpdateReplacePolicy屬性。如需執行此操作的資訊,請參閱《AWS CloudFormation 使用指南》中的「UpdateReplacePolicy屬性」。

有效值RetainDelete

類型:字串

必要:否

AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。

其他附註:當您指定時Retain,會 AWS SAM 將支援的資源屬性 AWS SAM的新增DeletionPolicy: Retain至已轉換的AWS::Lambda::LayerVersion資源。

傳回值

Ref

將此資源的邏輯 ID 提供給Ref內建函數時,它會傳回基礎 Lambda 的資源 ARN。 LayerVersion

若要取得有關使用Ref功能的更多資訊,請參閱《使AWS CloudFormation 用指南》Ref中的〈〉

範例

LayerVersionExample

一個例子 LayerVersion

YAML

Properties: LayerName: MyLayer Description: Layer description ContentUri: 's3://my-bucket/my-layer.zip' CompatibleRuntimes: - nodejs10.x - nodejs12.x LicenseInfo: 'Available under the MIT-0 license.' RetentionPolicy: Retain