AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Amazon CloudWatch Events 规则目标

Target 属性类型用于指定触发规则时 CloudWatch Events 调用的目标,例如 AWS Lambda (Lambda) 函数或 Kinesis 流。

AWS::Events::Rule 资源的 Targets 属性包含一个或多个 Target 属性类型的列表。

语法

属性

注意

有关每个属性 (包括约束和有效值) 的更多信息,请参阅 Amazon CloudWatch Events API 参考 中的 Amazon CloudWatch Events 规则目标

Arn

目标的 Amazon 资源名称 (ARN)。

Required: Yes

Type: String

EcsParameters

事件目标是 Amazon ECS 任务的情况下,要使用的 Amazon ECS 任务定义和任务计数。

必需:否

类型CloudWatch Events 规则 EcsParameters

Id

用户定义的目标唯一标识符。可接受的值包括字母数字字符、句点 (.)、连字符 (-) 和下划线 (_)。

Required: Yes

Type: String

Input

传递到目标的 JSON 格式的文本字符串。此值覆盖匹配的事件。

Required: No。如果不指定此属性和 InputPath 属性,CloudWatch Events 会将整个匹配的事件传递到目标。

Type: String

InputPath

当您不希望传递整个匹配的事件时,JSONPath 描述将事件的哪个部分传递到目标。

Required: No。如果不指定此属性和 Input 属性,CloudWatch Events 会将整个匹配的事件传递到目标。

Type: String

InputTransformer

基于特定事件数据向目标提供自定义输入的设置。您可以从事件中提取一个或多个键值对,然后使用该数据将自定义输入发送到目标。

必需:否

类型CloudWatch Events 规则 InputTransformer

KinesisParameters

当目标是 Kinesis 流时,用于控制分片分配的设置。如果不包括此参数,eventId 将用作分区键。

必需:否

类型CloudWatch Events 规则 KinesisParameters

RoleArn

向 CloudWatch Events 授予调用目标服务 (例如 AWS Lambda 或 Kinesis 流) 的权限的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称 (ARN)。

Required: No

Type: String

RunCommandParameters

规则在调用 Amazon EC2 Systems Manager 运行命令时所使用的参数。

必需:否

类型CloudWatch Events 规则 RunCommandParameters

示例

以下示例为 AWS::Events::Rule 资源定义目标。有关更多示例,请参阅 Amazon CloudWatch Events API 参考 中的 PutTargets

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

本页内容: