本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中创建规则时配置输入变压器 EventBridge
作为创建规则的一部分,您可以指定一个输入转换器,用于 EventBridge 在将匹配事件发送到指定目标之前处理这些事件。您可以为 AWS 服务或API目的地等目标配置输入转换器。
创建目标输入转换器,作为规则的一部分
按创建可对 Amazon 中的事件做出反应的规则 EventBridge中的步骤操作,创建一条规则。
在步骤 3 - 选择目标中,展开其他设置。
对于配置目标输入,在下拉列表中选择输入转换器。
单击配置输入转换器。
EventBridge 显示 “配置输入变压器” 对话框。
-
在示例事件部分,选择要测试事件模式的示例事件类型。您可以选择 AWS 活动、合作伙伴活动或输入自己的自定义活动。
(可选)展开示例输入路径、模板和输出部分,查看以下示例:
如何使用JSON路径来定义表示事件数据的变量
如何在输入转换器模板中使用这些变量
EventBridge 发送到目标的结果输出
有关输入转换的更多详细示例,请参阅输入转换示例。
-
在目标输入转换器部分,定义要在输入模板中使用的任何变量。
变量使用JSON路径来引用原始事件源中的值。然后,您可以在输入模板中引用这些变量,以便在 EventBridge 传递到目标的转换事件中包含来自原始源事件的数据。您最多可以定义 100 个变量。输入变压器必须有效JSON。
例如,假设您选择了 AWS 事件 S3 Object Created 作为此输入转换器的示例事件。然后,您可以定义以下变量,在模板中使用:
{ "requester": "$.detail.requester", "key": "$.detail.object.key", "bucket": "$.detail.bucket.name" }
(可选)您也可以选择复制,将输入转换器复制到设备的剪贴板。
在 “模板” 部分中,撰写要用于确定 EventBridge 传递给目标的内容的模板。
您可以使用字符串JSON、静态信息、已定义的变量以及保留变量。有关输入转换的更多详细示例,请参阅输入转换示例。
例如,假设您在前一个示例中定义了变量。然后,您可以撰写以下模板,引用这些变量,以及保留变量和静态信息。
{ "message": "<requester> has created the object \"<key>\" in the bucket \"<bucket>\"", "RuleName": <aws.events.rule-name>, "ruleArn" : <aws.events.rule-arn>, "Transformed": "Yes" }
(可选)您也可以选择复制,将模板复制到设备的剪贴板。
-
要测试您的模板,请选择生成输出。
EventBridge 根据输入模板处理示例事件,并显示在 Output 下生成的转换后的输出。这些信息 EventBridge 将代替原始源事件传递给目标。
上述示例输入模板生成的输出将如下所示:
{ "message": "123456789012 has created the object "example-key" in the bucket "example-bucket"", "RuleName": rule-name, "ruleArn" : arn:aws:events:us-east-1:123456789012:rule/rule-name, "Transformed": "Yes" }
(可选)您也可以选择复制,将生成的输出复制到设备的剪贴板。
选择确认
按创建可对 Amazon 中的事件做出反应的规则 EventBridge中的其余步骤操作,创建一条规则。