AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

AWS::Events::Rule Target

Target プロパティタイプは、AWS Lambda 関数や Amazon Kinesis データストリームなど、ルールのトリガー時に CloudWatch Events が呼び出すターゲットを指定します。

AWS::Events::Rule リソースの Targets プロパティには、1 つ以上の Target プロパティタイプのリストが含まれています。

構文

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

プロパティ

Arn

ターゲットの Amazon リソースネーム (ARN)。

必須: はい

タイプ: 文字列

最小: 1

最大: 1600

Update requires: No interruption

EcsParameters

イベントターゲットが Amazon ECS タスクの場合に使用される Amazon ECS タスク定義とタスク数を含みます。Amazon ECS タスクの詳細については、Amazon EC2 Container Service 開発者ガイドの「タスク定義」を参照してください。

必須: いいえ

タイプ: EcsParameters

Update requires: No interruption

Id

ターゲットの ID。これには、英数字、ピリオド (.)、ハイフン (-)、アンダースコア (_) を含めることができます。

必須: はい

タイプ: 文字列

最小: 1

最大: 64

パターン: [\.\-_A-Za-z0-9]+

Update requires: No interruption

Input

ターゲットに渡された有効な JSON テキスト。このプロパティを使用する場合、イベント自体からは何もターゲットに渡されません。

必須: いいえ

タイプ: 文字列

最大: 8192

Update requires: No interruption

InputPath

一致するイベント全体を渡す必要がない場合、InputPath はターゲットに渡すイベントの部分を記述します。

必須: いいえ

タイプ: 文字列

最大: 256

Update requires: No interruption

InputTransformer

特定のイベントデータに基づいてターゲットにカスタム入力を提供できるための設定。イベントから 1 つ以上のキーと値のペアを抽出し、そのデータを使用して、カスタマイズされた入力をターゲットに送信できます。

必須: いいえ

タイプ: InputTransformer

Update requires: No interruption

KinesisParameters

ターゲットが Kinesis データストリームの場合に、シャードの割り当てを制御するために使用できるカスタムパラメータ。このパラメータを含めない場合、デフォルトでは eventId がパーティションキーとして使用されます。

必須: いいえ

タイプ: KinesisParameters

Update requires: No interruption

RoleArn

ルールがトリガーされたときにこのターゲットに使用される IAM ロール の Amazon リソースネーム (ARN)。1 つのルールで複数のターゲットがトリガーされた場合は、各ターゲットのために、さまざまな IAM ロールを使用できます。

必須: いいえ

タイプ: 文字列

最小: 1

最大: 1600

Update requires: No interruption

RunCommandParameters

Amazon EC2 Run Command を呼び出すためにルールを使用しているときに使用されるパラメータ。

必須: いいえ

タイプ: RunCommandParameters

Update requires: No interruption

SqsParameters

ターゲットが FIFO キューの場合に使用するメッセージグループ ID を含みます。

SQS FIFO キューをターゲットとして指定した場合は、そのキューでコンテンツベースの重複排除が有効になっている必要があります。

必須: いいえ

タイプ: SqsParameters

Update requires: No interruption

KinesisParameters を含むターゲット

次のスニペットでは、Kinesis データストリームのターゲットが作成されます。

JSON

"MyEventsRule": { "Type": "AWS::Events::Rule", "Properties": { "Description": "Events Rule with KinesisParameters", "EventPattern": { "source": [ "aws.ec2" ] }, "RoleArn": { "Fn::GetAtt": [ "EventsInvokeKinesisTargetRole", "Arn" ] }, "ScheduleExpression": "rate(5 minutes)", "State": "ENABLED", "Targets": [ { "Arn": { "Fn::GetAtt": [ "MyFirstStream", "Arn" ] }, "Id": "Id123", "RoleArn": { "Fn::GetAtt": [ "EventsInvokeKinesisTargetRole", "Arn" ] }, "KinesisParameters": { "PartitionKeyPath": "$" } } ] } }

YAML

MyEventsRule: Type: AWS::Events::Rule Properties: Description: Events Rule with KinesisParameters EventPattern: source: - aws.ec2 RoleArn: !GetAtt - EventsInvokeKinesisTargetRole - Arn ScheduleExpression: rate(5 minutes) State: ENABLED Targets: - Arn: !GetAtt - MyFirstStream - Arn Id: Id123 RoleArn: !GetAtt - EventsInvokeKinesisTargetRole - Arn KinesisParameters: PartitionKeyPath: $

EcsParameters を含むターゲット

次のスニペットでは、Amazon ECS タスクのターゲットが作成されます。

JSON

"MyEventsRule": { "Type": "AWS::Events::Rule", "Properties": { "Description": "Events Rule with EcsParameters", "EventPattern": { "source": [ "aws.ec2" ], "detail-type": [ "EC2 Instance State-change Notification" ], "detail": { "state": [ "stopping" ] } }, "ScheduleExpression": "rate(15 minutes)", "State": "DISABLED", "Targets": [ { "Arn": { "Fn::GetAtt": [ "MyCluster", "Arn" ] }, "RoleArn": { "Fn::GetAtt": [ "ECSTaskRole", "Arn" ] }, "Id": "Id345", "EcsParameters": { "TaskCount": 1, "TaskDefinitionArn": { "Ref": "MyECSTask" } } } ] } }

YAML

MyEventsRule: Type: AWS::Events::Rule Properties: Description: Events Rule with EcsParameters EventPattern: source: - aws.ec2 detail-type: - EC2 Instance State-change Notification detail: state: - stopping ScheduleExpression: rate(15 minutes) State: DISABLED Targets: - Arn: !GetAtt - MyCluster - Arn RoleArn: !GetAtt - ECSTaskRole - Arn Id: Id345 EcsParameters: TaskCount: 1 TaskDefinitionArn: !Ref MyECSTask

このページの内容: