翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 SAM 向けに生成された AWS CloudFormation リソース」を参照してください。
構文
AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。
YAML
Type: AWS::Serverless::Function Properties: Architectures:
List
AssumeRolePolicyDocument:JSON
AutoPublishAlias:String
AutoPublishAliasAllProperties:Boolean
AutoPublishCodeSha256:String
CodeSigningConfigArn:String
CodeUri:String | FunctionCode
DeadLetterQueue:Map | DeadLetterQueue
DeploymentPreference:DeploymentPreference
Description:String
Environment:Environment
EphemeralStorage:EphemeralStorage
EventInvokeConfig:EventInvokeConfiguration
Events:EventSource
FileSystemConfigs:List
FunctionName:String
FunctionUrlConfig:FunctionUrlConfig
Handler:String
ImageConfig:ImageConfig
ImageUri:String
InlineCode:String
KmsKeyArn:String
Layers:List
LoggingConfig:LoggingConfig
MemorySize:Integer
PackageType:String
PermissionsBoundary:String
Policies:String | List | Map
PropagateTags:Boolean
ProvisionedConcurrencyConfig:ProvisionedConcurrencyConfig
RecursiveLoop:String
ReservedConcurrentExecutions:Integer
Role:String
RolePath:String
Runtime:String
RuntimeManagementConfig:RuntimeManagementConfig
SnapStart:SnapStart
SourceKMSKeyArn:String
Tags:Map
Timeout:Integer
Tracing:String
VersionDescription:String
VpcConfig:VpcConfig
プロパティ
-
Architectures
-
関数の命令セットアーキテクチャ。
このプロパティの詳細については、AWS Lambda デベロッパーガイドの「Lambda 命令セットアーキテクチャ」を参照してください。
有効な値:
x86_64
またはarm64
のいずれか。タイプ: リスト
必須: いいえ
デフォルト:
x86_64
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
リソースのArchitectures
プロパティに直接渡されます。 -
AssumeRolePolicyDocument
-
この関数 AssumeRolePolicyDocument 用に作成されたデフォルト
Role
に を追加します。このプロパティが指定されていない場合、 は、この関数のデフォルトの引き受けロール AWS SAM を追加します。タイプ : JSON
必須: いいえ
AWS CloudFormation 互換性 : このプロパティは
AWS::IAM::Role
resource の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 SAM 向けに生成された AWS CloudFormation リソース。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性 : このプロパティは に一意 AWS SAM であり、 AWS CloudFormation 同等の はありません。
-
AutoPublishAliasAllProperties
-
新しい
AWS::Lambda::Version
が作成されるタイミングを指定します。true
の場合、 Lambda 関数のプロパティが変更されると、新しい Lambda バージョンが作成されます。false
の場合、次のプロパティのいずれかが変更された場合にのみ、新しい Lambda バージョンが作成されます。-
Environment
、MemorySize
、SnapStart
-
Code
プロパティの更新を伴う変更 (CodeDict
、ImageUri
、InlineCode
など)。
このプロパティでは
AutoPublishAlias
を定義する必要があります。AutoPublishSha256
も指定されている場合、その動作はAutoPublishAliasAllProperties: true
よりも優先されます。タイプ: ブール
必須: いいえ
デフォルト値:
false
AWS 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
-
ARN の 。 AWS::Lambda::CodeSigningConfig リソース。この関数のコード署名を有効にするために使用されます。コード署名の詳細については、「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 transform の使用を検討してください。タイプ: [ 文字列 | 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 関数ではなく、ソースキューにデッドレターキューを設定します。関数用に設定するデッドレターキューは、イベントソースキューではなく、関数の非同期呼び出しキューに使用されます。
タイプ : Map | DeadLetterQueue
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
リソースのDeadLetterConfig
プロパティに似ています。 AWS CloudFormation タイプ は から派生しますがTargetArn
、 では AWS SAM タイプを と一緒に渡す必要がありますTargetArn
。 -
DeploymentPreference
-
段階的な Lambda デプロイを有効にする設定です。
DeploymentPreference
オブジェクトが指定されている場合、 は AWS SAM を作成します。 AWS::CodeDeploy::Application と呼ばれるServerlessDeploymentApplication
(スタックごとに 1 つ)、 AWS::CodeDeploy::DeploymentGroup
と呼ばれ、 AWS::IAM::Role という名前の<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 実行環境」を参照してください。
タイプ : EphemeralStorage
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
リソースのEphemeralStorage
プロパティに直接渡されます。 -
EventInvokeConfig
-
Lambda 関数でのイベントの呼び出し設定を説明するオブジェクトです。
タイプ : EventInvokeConfiguration
必須: いいえ
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エンドポイントです。
詳細については、「 デベロッパーガイド」の「関数URLs」を参照してください。 AWS Lambda
タイプ: FunctionUrlConfig
必須: いいえ
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 関数URIのコンテナイメージの Amazon Elastic Container Registry (Amazon ECR) リポジトリの 。このプロパティは、
PackageType
プロパティがImage
に設定されている場合にのみ適用され、それ以外の場合は無視されます。詳細については、AWS Lambda デベロッパーガイドの「Lambda でのコンテナイメージの使用」を参照してください。注記
PackageType
プロパティが に設定されている場合はImage
、ImageUri
が必要です。または、 AWS SAM テンプレートファイルに必要なMetadata
エントリを使用してアプリケーションを構築する必要があります。詳細については、「AWS SAM を使用したデフォルトのビルド」を参照してください。必要な
Metadata
エントリを使用してアプリケーションを構築することは、ImageUri
よりも優先されるので、両方を指定すればImageUri
は無視されます。型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
Code
データ型のImageUri
プロパティに直接渡されます。 -
InlineCode
-
テンプレートに直接記述された Lambda 関数コードです。このプロパティは、
PackageType
プロパティがZip
に設定されている場合にのみ適用され、それ以外の場合は無視されます。注記
PackageType
がZip
(デフォルト) に設定されていると、CodeUri
またはInlineCode
のいずれかが必要になります。型: 文字列
必須: 条件に応じて異なります
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
Code
データ型のZipFile
プロパティに直接渡されます。 -
KmsKeyArn
-
Lambda が関数ARNの環境変数の暗号化と復号に使用する AWS Key Management Service (AWS KMS) キーの 。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
リソースのKmsKeyArn
プロパティに直接渡されます。 -
Layers
-
この関数
LayerVersion
ARNsが使用する のリスト。ここで指定されている順序は、Lambda 関数の実行時にそれらがインポートされる順序です。タイプ: リスト
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
リソースのLayers
プロパティに直接渡されます。 -
LoggingConfig
-
関数の Amazon CloudWatch Logs 設定。
タイプ: 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 SAM CLI。 詳細については、「」を参照してくださいsam deploy。有効な値:
Zip
またはImage
タイプ:文字列
必須: いいえ
デフォルト:
Zip
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
リソースのPackageType
プロパティに直接渡されます。 -
PermissionsBoundary
-
この関数の実行ロールに使用するアクセス許可境界ARNの 。このプロパティは、ユーザーのためにロールが生成される場合にのみ機能します。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::IAM::Role
リソースのPermissionsBoundary
プロパティに直接渡されます。 -
Policies
-
この関数の許可ポリシー。ポリシーは、関数のデフォルト AWS Identity and Access Management (IAM) 実行ロールに追加されます。
このプロパティは、単一の値または値のリストを受け入れます。使用できる値は次のとおりです。
-
- ARN AWS 管理ポリシーまたはカスタマー管理ポリシー の 。
-
次のリストの AWS マネージドポリシーの名前。 https://github.com/aws/serverless-application-model/blob/develop/samtranslator/internal/data/aws_managed_policies.json
-
でフォーマットされたインラインIAMポリシー YAML マップとして。
注記
Role
プロパティを設定する場合、このプロパティは無視されます。タイプ: 文字列 | リスト | マップ
必須: いいえ
AWS CloudFormation 互換性 : このプロパティは、
AWS::IAM::Role
リソースのPolicies
プロパティに似ています。 -
AWS::Serverless::Function が生成したリソースに
Tags
プロパティからのタグを渡すかどうかを指定します。True
を指定して、生成されたリソースにタグを伝播します。タイプ: ブール
必須: いいえ
デフォルト:
False
AWS CloudFormation 互換性 : このプロパティは に一意 AWS SAM であり、 AWS CloudFormation 同等の はありません。
-
ProvisionedConcurrencyConfig
-
関数のエイリアスのプロビジョニングされた同時実行設定です。
注記
ProvisionedConcurrencyConfig
を指定できるのは、AutoPublishAlias
が設定されている場合のみです。それ以外の場合は、エラーが発生します。タイプ: ProvisionedConcurrencyConfig
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Alias
リソースのProvisionedConcurrencyConfig
プロパティに直接渡されます。 -
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 ランタイム更新」を参照してください。
タイプ : RuntimeManagementConfig
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
リソースのRuntimeManagementConfig
プロパティに直接渡されます。 -
SnapStart
-
新しい Lambda 関数バージョンのスナップショットを作成します。スナップショットは、すべての依存関係を含む、初期化された関数のキャッシュされた状態です。関数は一度だけ初期化され、キャッシュされた状態は将来の すべての呼び出しで再利用されるため、関数の初期化が必要な回数が減ることでアプリケーションのパフォーマンスが向上します。詳細については、「 AWS Lambda デベロッパーガイド」の「Lambda による起動パフォーマンスの向上SnapStart」を参照してください。
タイプ : SnapStart
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
リソースのSnapStart
プロパティに直接渡されます。 -
SourceKmsKeyArn
-
顧客のZIP関数コードを暗号化するARNために使用されるKMSキーを表します。
型: 文字列
必須: いいえ
AWS CloudFormation 互換性: このプロパティは、
AWS::Lambda::Function
Code
データ型の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
-
この関数が仮想プライベートクラウド () 内のプライベートリソースにアクセスできるようにする設定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:::
amzn-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-name
ImageConfig: 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