EventBridgeRule - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

EventBridgeRule

描述EventBridgeRule事件源类型的对象,它将您的无服务器函数设置为 Amazon EventBridge 规则的目标。有关更多信息,请参阅什么是亚马逊 EventBridge? 在《亚马逊 EventBridge 用户指南》中。

Amazon SAM 生成一个 AWS::Events::Rule设置此事件类型时的资源。 Amazon SAM 还会创建AWS::Lambda::Permission资源,该资源是调用 Lambda 所EventBridgeRule必需的。

语法

要在 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。

属性

DeadLetterConfig

配置亚马逊简单队列服务 (Amazon SQS) Simple Queue Service 队列,目标调用失败后 EventBridge 在该队列中发送事件。例如,当向不存在的 Lambda 函数发送事件时,或者没有足够的权限调用 Lambda 函数 EventBridge 时,调用可能会失败。有关更多信息,请参阅 A ma EventBridge zon 用户指南中的事件重试策略和使用死信队列

注意

AWS::Serverless::Function 资源类型具有类似的数据类型 DeadLetterQueue,用于处理成功调用目标 Lambda 函数后发生的故障。这些类型的故障示例包括 Lambda 节流或 Lambda 目标函数返回的错误。有关函数 DeadLetterQueue 属性的更多信息,请参阅《Amazon Lambda 开发人员指南》中的死信队列

类型DeadLetterConfig

必需:否

Amazon CloudFormation 兼容性:此属性类似于AWS::Events::RuleTarget数据类型的DeadLetterConfig属性。此属性的 Amazon SAM 版本包括其他子属性, Amazon SAM 以备您想要创建死信队列时使用。

EventBusName

要与该规则关联的事件总线。如果省略此属性,则 Amazon SAM 使用默认的事件总线。

类型:字符串

必需:否

默认:默认事件总线

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Events::Rule资源的EventBusName属性。

Input

传递到目标的有效 JSON 文本。如果使用此属性,则不会将事件文本本身的任何内容传递到目标。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Events::Rule Target资源的Input属性。

InputPath

当您不希望将整个匹配事件传递给目标时,请使用 InputPath 属性描述要传递事件的哪一部分。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Events::Rule Target资源的InputPath属性。

InputTransformer

使您可以根据特定事件数据向目标提供自定义输入的设置。您可以从事件中提取一个或多个键值对,然后使用该数据将自定义输入发送到目标。有关更多信息,请参阅《亚马逊 EventBridge 用户指南》中的亚马逊 EventBridge 输入转换

类型InputTransformer

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Events::RuleTarget数据类型的InputTransformer属性。

Pattern

描述哪些事件路由到指定目标。有关更多信息,请参阅《亚马逊 EventBridge 用户指南》中的亚马逊 EventBridgeEventBridge 事件和事件模式

类型EventPattern

必需:是

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Events::Rule资源的EventPattern属性。

RetryPolicy

包含有关重试策略设置的信息的 RetryPolicy 对象。有关更多信息,请参阅 A ma EventBridge zon 用户指南中的事件重试策略和使用死信队列

类型RetryPolicy

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Events::RuleTarget数据类型的RetryPolicy属性。

RuleName

规则的名称。

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Events::Rule资源的Name属性。

State

规则的状态。

可接受的值DISABLED| ENABLED | ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS

类型:字符串

必需:否

Amazon CloudFormation 兼容性:此属性直接传递给AWS::Events::Rule资源的State 属性。

Target

触发规则时 EventBridge 调用的 Amazon 资源。您可以使用此属性来指定目标的逻辑 ID。如果未指定此属性,则 Amazon SAM 生成目标的逻辑 ID。

类型目标

必需:否

Amazon CloudFormation 兼容性:此属性类似于AWS::Events::Rule资源的Targets属性。 Amazon EC2 RebootInstances API call是目标属性的一个示例。此属性的 Amazon SAM 版本仅允许您指定单个目标的逻辑 ID。

示例

EventBridgeRule

以下是 EventBridgeRule 事件源类型的示例。

YAML

EBRule: Type: EventBridgeRule Properties: Input: '{"Key": "Value"}' Pattern: detail: state: - terminated RetryPolicy: MaximumRetryAttempts: 5 MaximumEventAgeInSeconds: 900 DeadLetterConfig: Type: SQS QueueLogicalId: EBRuleDLQ Target: Id: MyTarget