本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EventBridgeRule
描述EventBridgeRule事件源类型,该类型将无服务器函数设置为 Amazon EventBridge 规则的目标。有关更多信息,请参阅 。什么是 Amazon EventBridge?中的Amazon EventBridge 用户指南.
Amazon SAM生成AWS::Events::Rule设置此事件类型时的资源。
语法
要在您的中声明此实体Amazon Serverless Application Model(Amazon SAM) 模板,请使用以下语法。
YAML
DeadLetterConfig:DeadLetterConfigEventBusName:StringInput:StringInputPath:StringPattern:EventPatternRetryPolicy:RetryPolicyTarget:Target
属性
-
DeadLetterConfig -
在目标调用失败后配置 Amazon Simple Queue Service (Amazon SQS) 队列,其中 EventBridge 将事件发送到该队列。例如,在向不存在的 Lambda 函数发送事件时,或者当 EventBridge 没有足够的权限调用 Lambda 函数时,调用可能会失败。有关更多信息,请参阅 。事件重试策略和使用死信队列中的Amazon EventBridge 用户指南.
注意:这些区域有:AWS::Serverless::Function资源类型具有类似的数据类型,
DeadLetterQueue,它处理成功调用目标 Lambda 函数后发生的故障。这些类型的失败示例包括 Lambda 限制或 Lambda 目标函数返回的错误。有关函数的更多信息DeadLetterQueue属性,请参阅Amazon Lambda函数死信队列中的Amazon Lambda开发人员指南.必需:否
Amazon CloudFormation兼容性:此属性类似于
DeadLetterConfig的财产AWS::Events::RuleTarget数据类型。这些区域有:Amazon SAM此属性的版本包括额外的子属性,以防你想Amazon SAM为您创建死信队列。 -
EventBusName -
要与该规则关联的事件总线。如果您忽略此属性,Amazon SAM使用默认事件总线。
类型:字符串
必需:否
默认值:默认事件总线
Amazon CloudFormation兼容性:此属性将直接传递给
EventBusName的财产AWS::Events::Rule资源。 -
Input -
传递到目标的有效 JSON 文本。如果使用此属性,则不会将事件文本本身的任何内容传递到目标。
类型:字符串
必需:否
Amazon CloudFormation兼容性:此属性将直接传递给
Input的财产AWS::Events::Rule Target资源。 -
InputPath -
当您不希望将整个匹配的事件传递到目标时,请使用
InputPath属性来描述要通过的事件的哪一部分。类型:字符串
必需:否
Amazon CloudFormation兼容性:此属性将直接传递给
InputPath的财产AWS::Events::Rule Target资源。 -
Pattern -
描述哪些事件路由到指定目标。有关更多信息,请参阅 。EventBridge 中的事件和事件模式中的Amazon EventBridge 用户指南.
类型:EventPattern
必需:是
Amazon CloudFormation兼容性:此属性将直接传递给
EventPattern的财产AWS::Events::Rule资源。 -
RetryPolicy -
包含有关重试策略设置的信息的
RetryPolicy对象。有关更多信息,请参阅 。事件重试策略和使用死信队列中的Amazon EventBridge 用户指南.类型:RetryPolicy
必需:否
Amazon CloudFormation兼容性:此属性将直接传递给
RetryPolicy的财产AWS::Events::RuleTarget数据类型。 -
Target -
这些区域有:AmazonEventBridge 在触发规则时调用的资源。您可以使用此属性指定目标的逻辑 ID。如果未指定此属性,那么Amazon SAM生成目标的逻辑 ID。
类型:目标
必需:否
Amazon CloudFormation兼容性:此属性类似于
Targets的财产AWS::Events::Rule资源。这些区域有:Amazon SAM此属性的版本只允许您指定单个目标的逻辑 ID。
示例
EventBridgerRule
以下是的示例。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