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