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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS::Serverless::LayerVersion

Lambda 関数に必要なライブラリまたはランタイムコードが含まれる Lambda LayerVersion を作成します。

AWS::Serverless::LayerVersion リソースは Metadata リソース属性もサポートするため、アプリケーションに含まれるレイヤーを構築するよう AWS SAM に指示できます。レイヤーの構築に関する詳細については、「での Lambda レイヤーの構築 AWS SAM」を参照してください。

重要な注意点: UpdateReplacePolicy リソース属性が CloudFormation でリリースされたため、AWS::Lambda::LayerVersion(推奨) には AWS::Serverless::LayerVersion と同じ利点があります。

サーバーレス LayerVersion が変換されると、SAM はリソースの論理 ID も変換し、リソースの更新時に CloudFormation によって古い LayerVersion が自動的に削除されないようにします。

注記

AWS CloudFormation にデプロイすると、AWS SAM は、AWS SAM リソースを CloudFormation リソースに変換します。詳細については、「AWS SAM 向けに生成された CloudFormation リソース」を参照してください。

構文

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 PublishLambdaVersion: Boolean RetentionPolicy: String

プロパティ

CompatibleArchitectures

レイヤバージョンでサポートされる命令セットアーキテクチャを指定します。

このプロパティの詳細については、AWS Lambda デベロッパーガイドの「Lambda 命令セットアーキテクチャ」を参照してください。

有効な値:x86_64arm64

タイプ: リスト

必須: いいえ

[Default] (デフォルト): x86_64

CloudFormation との互換性: このプロパティは、AWS::Lambda::LayerVersion リソースの CompatibleArchitectures プロパティに直接渡されます。

CompatibleRuntimes

この LayerVersion との互換性のあるランタイムのリストです。

タイプ: リスト

必須: いいえ

CloudFormation との互換性: このプロパティは、AWS::Lambda::LayerVersion リソースの CompatibleRuntimes プロパティに直接渡されます。

ContentUri

Amazon S3 URI、ローカルフォルダーへのパス、またはレイヤーコードの LayerContent オブジェクトです。

Amazon S3 URI または LayerContent オブジェクトが提供されている場合、参照される Amazon S3 オブジェクトは、Lambda レイヤーのコンテンツが含まれる有効な ZIP アーカイブである必要があります。

ローカルフォルダへのパスが提供されている場合は、コンテンツが適切に変換されるようにするために、sam build が含まれ、その後に sam deploy または sam package が続くワークフローをテンプレートが実行する必要があります。デフォルトで、相対パスは AWS SAM テンプレートの場所を基準にして解決されます。

タイプ: 文字列 | LayerContent

必須: はい

CloudFormation との互換性: このプロパティは、AWS::Lambda::LayerVersion リソースの Content プロパティに似ています。ネストされた Amazon S3 プロパティには異なる名前が付けられています。

Description

このレイヤーの説明です。

タイプ: 文字列

必須: いいえ

CloudFormation との互換性: このプロパティは、AWS::Lambda::LayerVersion リソースの Description プロパティに直接渡されます。

LayerName

レイヤーの名前または Amazon リソースネーム (ARN) です。

タイプ: 文字列

必須: いいえ

デフォルト: リソースの論理 ID

CloudFormation との互換性: このプロパティは、AWS::Lambda::LayerVersion リソースの LayerName プロパティに似ています。名前を指定しない場合は、リソースの論理 ID が名前として使用されます。

LicenseInfo

この LayerVersion のライセンスに関する情報です。

タイプ: 文字列

必須: いいえ

CloudFormation との互換性: このプロパティは、AWS::Lambda::LayerVersion リソースの LicenseInfo プロパティに直接渡されます。

PublishLambdaVersion

参照される LayerVersion リソースに変更があるたびに新しい Lambda バージョンを作成するオプトインプロパティ。接続された Lambda 関数 で AutoPublishAliasAutoPublishAliasAllProperties を使用して有効にすると、LayerVersion リソースに行われる変更ごとに新しい Lambda バージョンが作成されます。

タイプ: ブール

必須: いいえ

CloudFormation との互換性: このプロパティは AWS SAM に固有であり、CloudFormation に同等のものはありません。

RetentionPolicy

このプロパティは、リソースを削除するときに LayerVersion の古いバージョンを保持するか削除するかを指定します。リソースを更新または置き換えるときに LayerVersion の古いバージョンを保持する必要がある場合は、 UpdateReplacePolicy 属性を有効にする必要があります。これを行う方法については、「AWS CloudFormation ユーザーガイド」の 「UpdateReplacePolicy 属性」を参照してください。

有効な値: Retain または Delete

: 文字列

必須: いいえ

CloudFormation との互換性: このプロパティは AWS SAM に固有であり、CloudFormation に同等のものはありません。

その他の注意点: Retain 指定すると、AWS SAM が DeletionPolicy: RetainAWS SAM でサポートされているリソース属性 を変換された AWS::Lambda::LayerVersion リソースに追加します。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、基盤となる Lambda LayerVersion のリソース ARN が返されます。

Ref 関数の使用方法の詳細については、AWS CloudFormation ユーザーガイドの「Ref」を参照してください。

LayerVersionExample

LayerVersion の例

YAML

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