AWS::Lambda::EventSourceMapping - AWS CloudFormation

AWS::Lambda::EventSourceMapping

AWS::Lambda::EventSourceMapping リソースは、イベントソースと AWS Lambda 関数間のマッピングを作成します。Lambda は、イベントソースから項目を読み込み、関数をトリガーします。

各イベントソースタイプの詳細については、次のトピックを参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Type" : "AWS::Lambda::EventSourceMapping", "Properties" : { "BatchSize" : Integer, "BisectBatchOnFunctionError" : Boolean, "DestinationConfig" : DestinationConfig, "Enabled" : Boolean, "EventSourceArn" : String, "FunctionName" : String, "MaximumBatchingWindowInSeconds" : Integer, "MaximumRecordAgeInSeconds" : Integer, "MaximumRetryAttempts" : Integer, "ParallelizationFactor" : Integer, "StartingPosition" : String } }

YAML

Type: AWS::Lambda::EventSourceMapping Properties: BatchSize: Integer BisectBatchOnFunctionError: Boolean DestinationConfig: DestinationConfig Enabled: Boolean EventSourceArn: String FunctionName: String MaximumBatchingWindowInSeconds: Integer MaximumRecordAgeInSeconds: Integer MaximumRetryAttempts: Integer ParallelizationFactor: Integer StartingPosition: String

プロパティ

BatchSize

1 回のバッチで取得する項目の最大数。

  • Amazon Kinesis - デフォルト 100。最大 10,000。

  • Amazon DynamoDB Streams - デフォルト 100。最大 1,000。

  • Amazon Simple Queue Service - デフォルト 10。最大 10。

必須: いいえ

タイプ: 整数

最小: 1

最大: 10000

Update requires: No interruption

BisectBatchOnFunctionError

(ストリーム)関数がエラーを返した場合は、バッチを 2 つに分割して再試行します。

必須: いいえ

タイプ: ブール値

Update requires: No interruption

DestinationConfig

(ストリーム)廃棄されたレコードの Amazon SQS キューまたは Amazon SNS トピックの送信先。

必須: いいえ

タイプ: DestinationConfig

Update requires: No interruption

Enabled

true の場合、イベントソースマッピングがアクティブになります。ポーリングと呼び出しを一時停止するように false を設定します。

必須: いいえ

タイプ: ブール値

Update requires: No interruption

EventSourceArn

イベントソースの Amazon リソースネーム (ARN)。

  • Amazon Kinesis - データストリームまたはストリームコンシューマーの ARN。

  • Amazon DynamoDB ストリーム - ストリームの ARN。

  • Amazon Simple Queue Service - キューの ARN。

必須: はい

タイプ: 文字列

パターン: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

Update requires: Replacement

FunctionName

Lambda 関数の名前。

名前の形式

  • 関数名 - MyFunction.

  • 関数 ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • バージョンまたはエイリアス ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • 一部の ARN - 123456789012:function:MyFunction.

完全な ARN にのみ適用される長さの制限。関数名のみを指定する場合、64 文字の長さに制限されます。

必須: はい

タイプ: 文字列

最小: 1

最大: 140

パターン: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Update requires: No interruption

MaximumBatchingWindowInSeconds

(ストリーム) 関数を呼び出す前にレコードを収集する最大時間 (秒数)。

必須: いいえ

タイプ: 整数

最小: 0

最大: 300

Update requires: No interruption

MaximumRecordAgeInSeconds

(ストリーム) Lambda が処理のために関数に送信するレコードの最大経過時間。

必須: いいえ

タイプ: 整数

最小: 60

最大: 604800

Update requires: No interruption

MaximumRetryAttempts

(ストリーム)関数がエラーを返すときに再試行する最大回数。

必須: いいえ

タイプ: 整数

最小: 0

最大: 10000

Update requires: No interruption

ParallelizationFactor

(ストリーム)各シャードから同時に処理するバッチの数。

必須: いいえ

タイプ: 整数

最小: 1

最大: 10

Update requires: No interruption

StartingPosition

読み取りを開始するストリームの場所。Amazon Kinesis および Amazon DynamoDB ストリームのソースに必要です。

  • LATEST - 新しいレコードのみを読み込みます。

  • TRIM_HORIZON - 使用可能なすべてのレコードを処理します。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

戻り値

参照番号

このリソースの論理 ID を組み込みの Ref 関数に渡すと、Ref は次を返します: マッピング ID。

For more information about using the Ref function, see Ref.

イベントソースマッピング

Amazon Kinesis からイベントを読み取り、同じテンプレートで Lambda 関数を呼び出すイベントソースマッピングを作成します。

JSON

"EventSourceMapping": { "Type": "AWS::Lambda::EventSourceMapping", "Properties": { "EventSourceArn": { "Fn::Join": [ "", [ "arn:aws:kinesis:", { "Ref": "AWS::Region" }, ":", { "Ref": "AWS::AccountId" }, ":stream/", { "Ref": "KinesisStream" } ] ] }, "FunctionName": { "Fn::GetAtt": [ "LambdaFunction", "Arn" ] }, "StartingPosition": "TRIM_HORIZON" } }

YAML

MyEventSourceMapping: Type: AWS::Lambda::EventSourceMapping Properties: EventSourceArn: Fn::Join: - "" - - "arn:aws:kinesis:" - Ref: "AWS::Region" - ":" - Ref: "AWS::AccountId" - ":stream/" - Ref: "KinesisStream" FunctionName: Fn::GetAtt: - "LambdaFunction" - "Arn" StartingPosition: "TRIM_HORIZON"