翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS::Serverless::Function
AWS Lambda 関数、 AWS Identity and Access Management (IAM) 実行ロール、および関数をトリガーするイベントソースマッピングを作成します。
AWS::Serverless::Function リソースは Metadataリソース属性もサポートしているため、アプリケーションに必要なカスタムランタイムを構築する AWS SAM ように に指示できます。カスタムランタイムの構築の詳細については、「でのカスタムランタイムを使用した Lambda 関数の構築 AWS SAM」を参照してください。
注記
にデプロイすると AWS CloudFormation、 は AWS SAM リソースを AWS CloudFormation リソース AWS SAM に変換します。詳細については、「用に生成された AWS CloudFormation リソース AWS SAM」を参照してください。
構文
AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。
YAML
Type: AWS::Serverless::Function Properties: Architectures:ListAssumeRolePolicyDocument:JSONAutoPublishAlias:StringAutoPublishAliasAllProperties:BooleanAutoPublishCodeSha256:StringCodeSigningConfigArn:StringCodeUri:String | FunctionCodeDeadLetterQueue:Map | DeadLetterQueueDeploymentPreference:DeploymentPreferenceDescription:StringEnvironment:EnvironmentEphemeralStorage:EphemeralStorageEventInvokeConfig:EventInvokeConfigurationEvents:EventSourceFileSystemConfigs:ListFunctionName:StringFunctionUrlConfig:FunctionUrlConfigHandler:StringImageConfig:ImageConfigImageUri:StringInlineCode:StringKmsKeyArn:StringLayers:ListLoggingConfig:LoggingConfigMemorySize:IntegerPackageType:StringPermissionsBoundary:StringPolicies:String | List | MapPropagateTags:BooleanProvisionedConcurrencyConfig:ProvisionedConcurrencyConfigRecursiveLoop:StringReservedConcurrentExecutions:IntegerRole:StringRolePath:StringRuntime:StringRuntimeManagementConfig:RuntimeManagementConfigSnapStart:SnapStartSourceKMSKeyArn:StringTags:MapTimeout:IntegerTracing:StringVersionDescription:StringVpcConfig:VpcConfig
プロパティ
-
Architectures -
関数の命令セットアーキテクチャ。
このプロパティの詳細については、AWS Lambda デベロッパーガイドの「Lambda 命令セットアーキテクチャ」を参照してください。
有効な値:
x86_64またはarm64のいずれか。タイプ: リスト
必須: いいえ
デフォルト:
x86_64AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのArchitecturesプロパティに直接渡されます。 -
AssumeRolePolicyDocument -
この関数用に作成されたデフォルト
Roleの AssumeRolePolicyDocument を追加します。このプロパティが指定されていない場合、 はこの関数のデフォルトの継承ロール AWS SAM を追加します。Type: JSON
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::IAM::Roleresource のAssumeRolePolicyDocumentプロパティに似ています。 はこのプロパティを、この関数用に生成された IAM ロール AWS SAM に追加します。この関数にロールの Amazon リソースネーム (ARN) が提供されている場合、このプロパティは何も実行しません。 -
AutoPublishAlias -
Lambda エイリアスの名前です。Lambda エイリアスの詳細については、AWS Lambda デベロッパーガイドの「Lambda 関数のエイリアス」を参照してください。このプロパティを使用する例については、「を使用したサーバーレスアプリケーションの段階的なデプロイ AWS SAM」を参照してください。
AWS SAM このプロパティが設定されている場合、 は AWS::Lambda::Version および AWS::Lambda::Aliasリソースを生成します。このシナリオの詳細については、「AutoPublishAlias プロパティが指定されている」を参照してください。生成された AWS CloudFormation リソースの一般的な情報については、「」を参照してください用に生成された AWS CloudFormation リソース AWS SAM。
タイプ: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のものはありません。
-
AutoPublishAliasAllProperties -
新しい
AWS::Lambda::Versionが作成されるタイミングを指定します。trueの場合、 Lambda 関数のプロパティが変更されると、新しい Lambda バージョンが作成されます。falseの場合、次のプロパティのいずれかが変更された場合にのみ、新しい Lambda バージョンが作成されます。-
Environment、MemorySize、SnapStart -
Codeプロパティの更新を伴う変更 (CodeDict、ImageUri、InlineCodeなど)。
このプロパティでは
AutoPublishAliasを定義する必要があります。AutoPublishCodeSha256も指定されている場合、その動作はAutoPublishAliasAllProperties: trueよりも優先されます。型: ブール
必須: いいえ
デフォルト値:
falseAWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のものはありません。
-
-
AutoPublishCodeSha256 -
使用した場合、
CodeUri値とともに機能し、新しい Lambda バージョンを発行する必要があるかどうかを判断します。このプロパティは、しばしば次のようなデプロイの問題を解決するために使用されます: Amazon S3 のロケーションに保存されているデプロイパッケージが更新済みの Lambda 関数コードを使用する新しいデプロイパッケージに置き換えられたものの (新しいデプロイパッケージが新しい Amazon S3 のロケーションにアップロードされていて、CodeUriが新しい場所に変更されるのと反対に)、CodeUriプロパティがそのまま変更されていない。この問題は、次の特性を持つ AWS SAM テンプレートによってマークされます。
DeploymentPreferenceオブジェクトが、(を使用したサーバーレスアプリケーションの段階的なデプロイ AWS SAM で説明されているように) 段階的なデプロイ用に設定されているAutoPublishAliasプロパティが設定されていてもデプロイ間では変更されていないCodeUriプロパティが設定されていてもデプロイ間では変更されていない。
このシナリオでは、
AutoPublishCodeSha256を更新することで新しい Lambda バージョンが正常に作成されます。ただし、Amazon S3 にデプロイされた新しい関数コードは認識されません。新しい関数コードを認識するには、Amazon S3 バケットのバージョニングを使用することを検討してください。Lambda 関数のVersionプロパティを指定し、常に最新のデプロイパッケージを使用するようにバケットを設定します。このシナリオで段階的なデプロイを正常にトリガーするには、
AutoPublishCodeSha256に一意の値を提供する必要があります。型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。
-
CodeSigningConfigArn -
AWS::Lambda::CodeSigningConfig リソースの ARN で、この関数のコード署名を有効にするために使用されます。コード署名の詳細については、「AWS SAM アプリケーションのコード署名を設定する」を参照してください。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのCodeSigningConfigArnプロパティに直接渡されます。 -
CodeUri -
関数のコード 以下のような値を設定できます。
-
関数の Amazon S3 URI。例えば、
s3://bucket-123456789/sam-app/1234567890abcdefg。 -
関数へのローカルパス。例えば、
hello_world/。 -
FunctionCode オブジェクト。
注記
関数の Amazon S3 URI または FunctionCode オブジェクトを指定する場合は、有効な Lambda デプロイパッケージを参照する必要があります。
ローカルファイルパスを指定する場合は、 AWS SAM CLI を使用してデプロイ時にローカルファイルをアップロードします。詳細についてはがデプロイ時にローカルファイル AWS SAM をアップロードする方法を参照してください。
CodeUriプロパティで組み込み関数を使用する場合、 は値を正しく解析 AWS SAM できません。代わりに AWS::LanguageExtensions 変換の使用を検討してください。タイプ: [ 文字列 | FunctionCode ]
必須: 条件的。
PackageTypeがZipに設定されている場合、CodeUriまたはInlineCodeのいずれかが必須です。AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのCodeプロパティに似ています。ネストされた Amazon S3 プロパティには異なる名前が付けられています。 -
-
DeadLetterQueue -
処理できないイベントを Lambda が送信する Amazon Simple Notification Service (Amazon SNS) トピックまたは Amazon Simple Queue Service (Amazon SQS) キューを設定します。デッドレターキュー機能の詳細については、「AWS Lambda デベロッパーガイド」の「デッドレターキュー」を参照してください。
注記
Lambda 関数のイベントソースが Amazon SQS キューである場合は、Lambda 関数ではなく、ソースキューのデッドレターキューを設定してください。関数用に設定するデッドレターキューは、イベントソースキューではなく、関数の非同期呼び出しキューに使用されます。
タイプ: マップ | DeadLetterQueue
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのDeadLetterConfigプロパティに似ています。 AWS CloudFormation タイプは から派生しますがTargetArn、 では AWS SAM タイプを とともに渡す必要がありますTargetArn。 -
DeploymentPreference -
段階的な Lambda デプロイを有効にする設定です。
DeploymentPreferenceオブジェクトが指定されている場合、 は AWS::CodeDeploy::Applicationという名前のServerlessDeploymentApplication(スタックごとに 1 つ)、 AWS::CodeDeploy::DeploymentGroupという名前の、および AWS::IAM::Roleという名前の AWS SAM を作成します<function-logical-id>DeploymentGroupCodeDeployServiceRole。タイプ: DeploymentPreference
必須: いいえ
AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のものはありません。
その他の参照資料: このプロパティの詳細については、「を使用したサーバーレスアプリケーションの段階的なデプロイ AWS SAM」を参照してください。
-
Description -
関数の説明です。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのDescriptionプロパティに直接渡されます。 -
Environment -
ランタイム環境の設定です。
タイプ: Environment
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのEnvironmentプロパティに直接渡されます。 -
EphemeralStorage -
/tmpの Lambda 関数で使用可能なディスク容量を MB 単位で指定するオブジェクト。このプロパティの詳細については、「AWS Lambda デベロッパーガイド」の「Lambda 実行環境」を参照してください。
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのEphemeralStorageプロパティに直接渡されます。 -
EventInvokeConfig -
Lambda 関数でのイベントの呼び出し設定を説明するオブジェクトです。
必須: いいえ
AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のものはありません。
-
Events -
この関数をトリガーするイベントを指定します。イベントは、1 つのタイプと、そのタイプに依存する一連のプロパティで構成されます。
タイプ: EventSource
必須: いいえ
AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のものはありません。
-
FileSystemConfigs -
Amazon Elastic File System (Amazon EFS) ファイルシステムの接続設定を指定する FileSystemConfig オブジェクトのリストです。
テンプレートに AWS::EFS::MountTarget リソースが含まれている場合は、
DependsOnリソース属性を指定して、関数の前にマウントターゲットが作成または更新されることを確実にする必要があります。タイプ: リスト
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのFileSystemConfigsプロパティに直接渡されます。 -
FunctionName -
関数の名前です。名前を指定しない場合は、一意の名前が生成されます。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのFunctionNameプロパティに直接渡されます。 -
FunctionUrlConfig -
関数 URL を記述するオブジェクトです。関数 URL は、関数を呼び出すために使用する HTTPS エンドポイントです。
詳細については、「AWS Lambda デベロッパーガイド」の「関数スケーリング」を参照してください。
必須: いいえ
AWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のプロパティはありません。
-
Handler -
実行を開始するために呼び出されるコード内の関数です。このプロパティが必要になるのは、
PackageTypeプロパティがZipに設定されている場合のみです。型: 文字列
必須: 条件に応じて異なります
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのHandlerプロパティに直接渡されます。 -
ImageConfig -
Lambda のコンテナイメージ設定に使用されるオブジェクトです。詳細については、AWS Lambda デベロッパーガイドの「Lambda でのコンテナイメージの使用」を参照してください。
タイプ: ImageConfig
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのImageConfigプロパティに直接渡されます。 -
ImageUri -
Lambda 関数のコンテナイメージ用の Amazon Elastic Container Registry (Amazon ECR) リポジトリの URI です。このプロパティは、
PackageTypeプロパティがImageに設定されている場合にのみ適用され、それ以外の場合は無視されます。詳細については、AWS Lambda デベロッパーガイドの「Lambda でのコンテナイメージの使用」を参照してください。注記
PackageTypeプロパティが に設定されている場合Image、ImageUriは必須です。または、 AWS SAM テンプレートファイルに必要なMetadataエントリを使用してアプリケーションを構築する必要があります。詳細については、「を使用したデフォルトのビルド AWS SAM」を参照してください。必要な
Metadataエントリを使用してアプリケーションを構築することは、ImageUriよりも優先されるので、両方を指定すればImageUriは無視されます。型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionCodeデータ型のImageUriプロパティに直接渡されます。 -
InlineCode -
テンプレートに直接記述された Lambda 関数コードです。このプロパティは、
PackageTypeプロパティがZipに設定されている場合にのみ適用され、それ以外の場合は無視されます。注記
PackageTypeがZip(デフォルト) に設定されていると、CodeUriまたはInlineCodeのいずれかが必要になります。タイプ: 文字列
必須: 条件に応じて異なります
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionCodeデータ型のZipFileプロパティに直接渡されます。 -
KmsKeyArn -
Lambda が関数の環境変数を暗号化および復号するために使用する AWS Key Management Service (AWS KMS) キーの ARN。
タイプ: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのKmsKeyArnプロパティに直接渡されます。 -
Layers -
この関数が使用する必要がある
LayerVersionARN のリストです。ここで指定されている順序は、Lambda 関数の実行時にそれらがインポートされる順序です。バージョンは、バージョンを含む完全な ARN であるか、LayerVersion リソースへの参照です。たとえば、 への参照LayerVersionは!Ref MyLayerになり、 バージョンを含む完全な ARN は になりますarn:aws:lambda:。region:account-id:layer:layer-name:versionタイプ: リスト
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのLayersプロパティに直接渡されます。 -
LoggingConfig -
関数の Amazon CloudWatch Logs 構成の設定。
Type: LoggingConfig
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのLoggingConfigプロパティに直接渡されます。 -
MemorySize -
関数の各呼び出しに割り当てられるメモリのサイズ (MB) です。
タイプ: 整数
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのMemorySizeプロパティに直接渡されます。 -
PackageType -
Lambda 関数のデプロイパッケージタイプです。詳細については、AWS Lambda デベロッパーガイドの「Lambda デプロイパッケージ」を参照してください。
注意:
1. このプロパティが
Zip(デフォルト) に設定されている場合は、CodeUriまたはInlineCodeが適用され、ImageUriは無視されます。2. このプロパティが
Imageに設定されている場合は、ImageUriのみが適用され、CodeUriとInlineCodeは無視されます。関数のコンテナイメージを保存するために必要な Amazon ECR リポジトリは、 によって自動的に作成できます AWS SAMCLI。詳細については、「sam deploy」を参照してください。有効な値:
ZipまたはImageタイプ:文字列
必須: いいえ
デフォルト:
ZipAWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのPackageTypeプロパティに直接渡されます。 -
PermissionsBoundary -
この関数の実行ロールに使用するアクセス許可境界の ARN です。このプロパティは、ユーザーのためにロールが生成される場合にのみ機能します。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::IAM::RoleリソースのPermissionsBoundaryプロパティに直接渡されます。 -
Policies -
この関数の許可ポリシー。ポリシーは、関数のデフォルト AWS Identity and Access Management (IAM) 実行ロールに追加されます。
このプロパティは、単一の値または値のリストを受け入れます。使用できる値は次のとおりです。
-
AWS 管理ポリシーまたはカスタマー管理ポリシーの ARN。
-
次のリストから
の AWS 管理ポリシーの名前。 -
マップとして YAML でフォーマットされたインライン IAM ポリシー。
注記
Roleプロパティを設定する場合、このプロパティは無視されます。タイプ: 文字列 | リスト | マップ
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::IAM::RoleリソースのPoliciesプロパティに似ています。 -
AWS::Serverless::Function が生成したリソースに
Tagsプロパティからのタグを渡すかどうかを指定します。Trueを指定して、生成されたリソースにタグを伝播します。型: ブール
必須: いいえ
デフォルト:
FalseAWS CloudFormation 互換性: このプロパティは に固有 AWS SAM であり、 AWS CloudFormation 同等のものはありません。
-
ProvisionedConcurrencyConfig -
関数のエイリアスのプロビジョニングされた同時実行設定です。
注記
ProvisionedConcurrencyConfigを指定できるのは、AutoPublishAliasが設定されている場合のみです。それ以外の場合は、エラーが発生します。タイプ: ProvisionedConcurrencyConfig
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::AliasリソースのProvisionedConcurrencyConfigプロパティに直接渡されます。 -
RecursiveLoop -
関数の再帰的ループ検出設定のステータス。
この値が
Allowに設定されている場合、Lambda が再帰的ループの一部として呼び出されている関数を検出しても、いずれのアクションも実行されません。この値が
Terminateに設定されている場合、Lambda が再帰的ループの一部として呼び出されている関数を検出すると、その関数の呼び出しが停止され通知が送信されます。タイプ: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのRecursiveLoopプロパティに直接渡されます。 -
ReservedConcurrentExecutions -
関数用に予約する同時実行の最大数です。
このプロパティの詳細については、AWS Lambda デベロッパーガイドの「Lambda 関数スケーリング」を参照してください。
タイプ: 整数
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのReservedConcurrentExecutionsプロパティに直接渡されます。 -
Role -
この関数の実行ロールとして使用する IAM ロールの ARN です。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのRoleプロパティに似ています。これは では必須 AWS CloudFormation ですが、 では必須ではありません AWS SAM。ロールが指定されていない場合は、の論理 ID を持つロールが作成されます。<function-logical-id>Role -
RolePath -
関数の IAM 実行ロールへのパス。
このプロパティは、ユーザーのためにロールが生成される場合にのみ機能します。
Roleプロパティでロールが指定されている場合は使用しないでください。タイプ: 文字列
必須: 条件に応じて異なります
AWS CloudFormation 互換性: このプロパティは、
AWS::IAM::RoleリソースのPathプロパティに直接渡されます。 -
Runtime -
関数のランタイムの識別子です。このプロパティが必要になるのは、
PackageTypeプロパティがZipに設定されている場合のみです。注記
このプロパティの
provided識別子を指定する場合、Metadataリソース属性を使用して、この関数に必要なカスタムランタイムを構築する AWS SAM ように に指示できます。カスタムランタイムの構築の詳細については、「でのカスタムランタイムを使用した Lambda 関数の構築 AWS SAM」を参照してください。型: 文字列
必須: 条件に応じて異なります
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのRuntimeプロパティに直接渡されます。 -
RuntimeManagementConfig -
ランタイム環境の更新、ロールバック動作、特定のランタイムバージョンの選択など、Lambda 関数のランタイム管理オプションを設定します。詳細については、「AWS Lambda デベロッパーガイド」の「Lambda ランタイム更新」を参照してください。
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのRuntimeManagementConfigプロパティに直接渡されます。 -
SnapStart -
新しい Lambda 関数バージョンのスナップショットを作成します。スナップショットは、すべての依存関係を含む、初期化された関数のキャッシュされた状態です。関数は一度だけ初期化され、キャッシュされた状態は将来の すべての呼び出しで再利用されるため、関数の初期化が必要な回数が減ることでアプリケーションのパフォーマンスが向上します。詳細については、「AWS Lambda デベロッパーガイド」の「Lambda SnapStart による起動パフォーマンスの向上」を参照してください。
タイプ: SnapStart
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのSnapStartプロパティに直接渡されます。 -
SourceKmsKeyArn -
顧客の ZIP 関数コードを暗号化するために使用される KMS キー ARN を表します。
タイプ: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionCodeデータ型のSourceKmsKeyArnプロパティに直接渡されます。 -
この関数に追加されるタグを指定するマップ (文字列対文字列) です。タグの有効なキーと値の詳細については、「AWS Lambda デベロッパーガイド」の「タグのキーと値の要件」を参照してください。
スタックが作成されると、 はこの Lambda 関数と、この関数用に生成されるデフォルトのロールに
lambda:createdBy:SAMタグ AWS SAM を自動的に追加します。タイプ: マップ
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのTagsプロパティに似ています。のTagsプロパティ AWS SAM は、キーと値のペアで構成されます ( AWS CloudFormation このプロパティはTagオブジェクトのリストで構成されます)。また、 は、この Lambda 関数と、この関数用に生成されるデフォルトのロールにlambda:createdBy:SAMタグ AWS SAM を自動的に追加します。 -
Timeout -
関数が停止されるまでの最大実行時間 (秒) です。
タイプ: 整数
必須: いいえ
デフォルト: 3
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのTimeoutプロパティに直接渡されます。 -
Tracing -
関数の X-Ray トレーシングモードを指定する文字列です。
-
Active– 関数の X-Ray トレーシングを有効にします。 -
Disabled– 関数の X-Ray を無効にします。 -
PassThrough– 関数の X-Ray トレーシングを有効にします。サンプリングデシジョンはダウンストリームサービスに委任されます。
ActiveまたはPassThroughが指定されており、Roleプロパティが設定されていない場合、 AWS SAM は、ユーザー用に作成する Lambda 実行ロールにarn:aws:iam::aws:policy/AWSXrayWriteOnlyAccessポリシーを追加します。X-Ray の詳細については、「 AWS Lambda デベロッパーガイド」の「 AWS Lambda で を使用する AWS X-Ray」を参照してください。
有効な値: [
Active|Disabled|PassThrough]タイプ: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのTracingConfigプロパティに似ています。 -
-
VersionDescription -
新しい Lambda バージョンリソースに追加される
Descriptionフィールドを指定します。型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::VersionリソースのDescriptionプロパティに直接渡されます。 -
VpcConfig -
この関数が Virtual Private Cloud (VPC) 内のプライベートリソースにアクセスすることを可能にする設定です。
タイプ: VpcConfig
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::FunctionリソースのVpcConfigプロパティに直接渡されます。
戻り値
参照番号
このリソースの論理 ID が Ref 組み込み関数に提供されると、基盤となる Lambda 関数のリソース名が返されます。
Ref 関数の使用方法の詳細については、「AWS CloudFormation ユーザーガイド」の「Ref」を参照してください。
Fn::GetAtt
Fn::GetAtt は、このタイプの指定された属性の値を返します。利用可能な属性とサンプル戻り値は以下のとおりです。
Fn::GetAtt の使用の詳細については、「AWS CloudFormation ユーザーガイド」の「Fn::GetAtt」を参照してください。
Arn-
基盤となる Lambda 関数の ARN です。
例
シンプルな関数
以下は、AWS::Serverless::Function パッケージタイプ (デフォルト) の Zip リソースと、Amazon S3 バケット内にある関数コードの基本的な例です。
YAML
Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name
関数プロパティの例
以下は、InlineCode、Layers、Tracing、Policies、Amazon EFS、および Api イベントソースを使用する、AWS::Serverless::Function パッケージタイプ (デフォルト) の Zip の例です。
YAML
Type: AWS::Serverless::Function DependsOn: MyMountTarget # This is needed if an AWS::EFS::MountTarget resource is declared for EFS Properties: Handler: index.handler Runtime: python3.9 InlineCode: | def handler(event, context): print("Hello, world!") ReservedConcurrentExecutions: 30 Layers: - Ref: MyLayer Tracing: Active Timeout: 120 FileSystemConfigs: - Arn: !Ref MyEfsFileSystem LocalMountPath: /mnt/EFS Policies: - AWSLambdaExecute - Version: '2012-10-17 ' Statement: - Effect: Allow Action: - s3:GetObject - s3:GetObjectACL Resource: 'arn:aws:s3:::sam-s3-demo-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get
ImageConfig の例
以下は、Image パッケージタイプの Lambda 関数向けの ImageConfig の例です。
YAML
HelloWorldFunction: Type: AWS::Serverless::Function Properties: PackageType: Image ImageUri:account-id.dkr.ecr.region.amazonaws.com/ecr-repo-name:image-nameImageConfig: Command: - "app.lambda_handler" EntryPoint: - "entrypoint1" WorkingDirectory: "workDir"
RuntimeManagementConfig の例
現在の動作に従ってランタイム環境を更新するように設定された Lambda 関数:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto
関数が更新されたときにランタイム環境を更新するように設定された Lambda 関数:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate
ランタイム環境を手動で更新するように構成された Lambda 関数:
TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual
SnapStart の例
将来のバージョンに対して SnapStart を有効にした Lambda 関数の例。
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions