本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:使用输入转换器自定义 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 的事件。
要创建主题,请执行以下操作
通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home
。 -
在导航窗格中,选择 Topics(主题)。
-
选择 Create topic(创建主题)。
-
对于 Type(类型),选择 Standard(标准)。
-
输入
eventbridge-IT-test
作为主题名称。 -
选择 Create topic(创建主题)。
步骤 2:创建 Amazon SNS 订阅
创建订阅,接收包含转换信息的电子邮件。
创建订阅
通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home
。 -
在导航窗格中,选择 Subscriptions。
-
选择 Create subscription。
-
对于主题 ARN,选择您在步骤 1 中创建的主题。在本教程中,选择 eventbridge-IT-test。
-
对于协议,选择电子邮件。
-
对于 Endpoint (终端节点),输入您的电子邮件地址。
-
选择 Create subscription(创建订阅)。
-
在收到的 Amazon 通知电子邮件中选择确认订阅,以确认订阅。
步骤 3:创建规则
创建规则,使用输入转换器自定义传送到目标的实例状态信息。
创建 规则
打开位于 https://console.aws.amazon.com/events/
的 Amazon EventBridge 控制台。 -
在导航窗格中,选择 Rules (规则)。
-
选择 Create rule (创建规则)。
-
为规则输入名称和描述。例如,将规则命名为
ARTestRule
-
对于 Event bus(事件总线),请选择要与此规则关联的事件总线。如果您希望此规则匹配来自您账户的事件,请选择默认。当您账户中的某个 Amazon 服务发出一个事件时,它始终会发送到您账户的默认事件总线。
-
对于 Rule type(规则类型),选择 Rule with an event pattern(具有事件模式的规则)。
-
选择 Next(下一步)。
-
对于 Event source(事件源),选择 Other(其他)。
-
对于事件模式,输入以下代码:
{ "detail-type": [ "customerCreated" ] }
-
选择 Next(下一步)。
-
对于 Target types(目标类型),选择 Amazon service(服务)。
-
对于选择目标,从下拉列表中选择 SNS 主题。
-
对于主题,请选择您在步骤 1 中创建的 Amazon SNS 主题。在本教程中,选择 eventbridge-IT-test。
-
对于其他设置,执行以下操作:
-
对于配置目标输入,从下拉列表中选择输入转换器。
-
选择配置输入转换器。
-
对于示例事件,输入以下代码:
{ "detail-type": "customerCreated" }
-
对于目标输入转换器,执行以下操作:
-
对于输入路径,输入以下代码:
{"detail-type":"$.detail-type"}
-
对于输入模板,输入以下代码:
"This event was of <detail-type> type."
-
选择确认。
-
-
选择 Next(下一步)。
-
选择 Next(下一步)。
-
查看规则详细信息并选择 Create rule(创建规则)。
步骤 4:发送测试事件
现在,您已经设置了 SNS 主题和规则,我们将发送测试事件,以确保规则可正常运行。
发送测试事件(控制台)
访问 https://console.aws.amazon.com/events/
,打开 Amazon EventBridge 控制台。 -
在导航窗格中,选择 Event Buses (事件总线)。
-
在默认事件总线图块中,选择操作、发送事件。
-
输入事件源。例如,
TestEvent
。 -
在详细信息类型中,输入
customerCreated
。 -
在事件详细信息中,输入
{}
。 -
选择 Send (发送)。
步骤 5:确认成功
如果您从 Amazon 通知收到一封与预期输出相匹配的电子邮件,则说明您已成功完成本教程。
步骤 6:清除资源
除非您想要保留为本教程创建的资源,否则可立即将其删除。请删除您不再使用的 Amazon 资源,这样可防止您的 Amazon 账户产生不必要的费用。
删除 SNS 主题
-
在 SNS 控制台中打开主题页面
。 -
选择您创建的主题。
-
选择 Delete (删除)。
-
输入
delete me
。 -
选择 Delete (删除)。
删除 SNS 订阅
-
在 SNS 控制台中打开订阅页面
。 -
选择您创建的订阅。
-
选择 Delete。
-
选择 Delete。
删除 EventBridge 规则
-
在 EventBridge 控制台中打开规则页面
。 -
选择您创建的规则。
-
选择 Delete。
-
选择 Delete。