EventBridgeRule - AWS Serverless Application Model

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

EventBridgeRule

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

AWS SAM 设置此事件类型时会生成AWS::Events::Rule资源。

语法

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

属性

DeadLetterConfig

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

注意

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

类型:DeadLetterConfig

必需:否

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

EventBusName

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

类型:字符串

必需:否

默认:默认事件总线

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

Input

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

类型:字符串

必需:否

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

InputPath

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

类型:字符串

必需:否

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

InputTransformer

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

类型:InputTransformer

必需:否

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

Pattern

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

类型:EventPattern

必需:是

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

RetryPolicy

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

类型:RetryPolicy

必需:否

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

RuleName

规则的名称。

类型:字符串

必需:否

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

State

规则的状态。

接受的值DISABLED | ENABLED

类型:字符串

必需:否

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

Target

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

类型目标

必需:否

AWS CloudFormation 兼容性:此属性类似于AWS::Events::Rule资源的Targets属性。此属性的 AWS 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