本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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_64
、arm64
類型:列表
必要:否
預設:
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
屬性」。有效值:
Retain
或Delete
類型:字串
必要:否
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