本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:在 EventBridge 中使用输入转换器转换事件
在 EventBridge 中,将事件传递给规则的目标之前,可以使用输入转换器自定义事件的文本。
方法是从事件中定义 JSON 路径,并将其输出分配给不同的变量。然后,您可以在输入模板中使用这些变量。不能对字符 < 和 > 进行转义。有关更多信息,请参阅 亚马逊 EventBridge 输入转换
注意
如果您指定一个变量以匹配在事件中不存在的 JSON 路径,则不会创建该变量,并且不会在输出中显示该变量。
在本教程中,您使用 detail-type: "customerCreated"
创建与事件匹配的规则。输入转换器将变量 type
映射到事件中的 $.detail-type JSON 路径。然后,EventBridge 将此变量放入输入模板 "This event was <type>." 结果是以下 Amazon SNS 消息。
"This event was of customerCreated type."
步骤 1:创建一个 Amazon SNS 主题
创建一个主题,接收来自 EventBridge 的事件。
要创建主题,请执行以下操作
通过 https://console.aws.amazon.com/sns/v3/home
打开 Amazon SNS 控制台。 -
在导航窗格中,选择 Topics(主题)。
-
选择创建主题。
-
对于类型,选择标准。
-
输入
eventbridge-IT-test
作为主题名称。 -
选择创建主题。
步骤 2:创建 Amazon SNS 订阅
创建订阅,接收包含转换信息的电子邮件。
创建订阅
通过 https://console.aws.amazon.com/sns/v3/home
打开 Amazon SNS 控制台。 -
在导航窗格中,选择订阅。
-
选择创建订阅。
-
对于主题 ARN,选择您在步骤 1 中创建的主题。在本教程中,选择 eventbridge-IT-test。
-
对于协议,选择电子邮件。
-
对于 Endpoint (终端节点),输入您的电子邮件地址。
-
选择创建订阅。
-
在收到的 AWS 通知电子邮件中选择确认订阅,以确认订阅。
步骤 3:创建规则
创建规则,使用输入转换器自定义传送到目标的实例状态信息。
创建 规则
访问 https://console.aws.amazon.com/events/
,打开 Amazon EventBridge 控制台。 -
在导航窗格中,选择规则。
-
选择创建规则。
-
为规则输入名称和描述。例如,将规则命名为
ARTestRule
-
对于事件总线,请选择要与此规则关联的事件总线。如果您希望此规则对来自您自己的账户的匹配事件触发,请选择默认。当您账户中的某个 AWS 服务发出一个事件时,它始终会发送到您账户的默认事件总线。
-
对于规则类型,选择具有事件模式的规则。
-
选择下一步。
-
对于事件源,选择其他。
-
对于事件模式,输入以下代码:
{ "detail-type": [ "customerCreated" ] }
-
选择下一步。
-
对于目标类型,选择AWS 服务。
-
对于选择目标,从下拉列表中选择 SNS 主题。
-
对于主题,请选择您在步骤 1 中创建的 Amazon SNS 主题。在本教程中,选择 eventbridge-IT-test。
-
对于其他设置,执行以下操作:
-
对于配置目标输入,从下拉列表中选择输入转换器。
-
选择配置输入转换器。
-
对于示例事件,输入以下代码:
{ "detail-type": "customerCreated" }
-
对于目标输入转换器,执行以下操作:
-
对于输入路径,输入以下代码:
{"detail-type":"$.detail-type"}
-
对于输入模板,输入以下代码:
"This event was of <detail-type> type."
-
选择确认。
-
-
选择下一步。
-
选择下一步。
-
查看规则详细信息并选择创建规则。
步骤 4:发送测试事件
现在,您已经设置了 SNS 主题和规则,我们将发送测试事件,以确保规则可正常运行。
发送测试事件(控制台)
访问 https://console.aws.amazon.com/events/
,打开 Amazon EventBridge 控制台。 -
在导航窗格中,选择 Event Buses (事件总线)。
-
在默认事件总线图块中,选择操作、发送事件。
-
输入事件源。例如,
TestEvent
。 -
在详细信息类型中,输入
customerCreated
。 -
在事件详细信息中,输入
{}
。 -
选择发送。
步骤 5:确认成功
如果您从 AWS 通知收到一封与预期输出相匹配的电子邮件,则说明您已成功完成本教程。
步骤 6:清除资源
除非您想要保留为本教程创建的资源,否则可立即将其删除。请删除您不再使用的 AWS 资源,这样可防止您的 AWS 账户产生不必要的费用。
删除 SNS 主题
-
在 SNS 控制台中打开主题页面
。 -
选择您创建的主题。
-
选择 Delete(删除)。
-
输入
delete me
。 -
选择 Delete(删除)。
删除 SNS 订阅
-
在 SNS 控制台中打开订阅页面
。 -
选择您创建的订阅。
-
选择 Delete(删除)。
-
选择 Delete(删除)。
删除 EventBridge 规则
-
在 EventBridge 控制台中打开规则页面
。 -
选择您创建的规则。
-
选择 Delete(删除)。
-
选择 Delete(删除)。