本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
向 API 目标发送 CloudEvents 事件
CloudEvents 是针对事件格式的供应商中立规范,旨在提供跨服务、平台和系统的互操作性。您可以使用 EventBridge 在 Amazon 服务事件发送到目标(例如 API 目的地) CloudEvents 之前将其转换为。
注意
以下过程说明了如何将源事件转换为结构化模式。 CloudEvents在 CloudEvents 规范中,结构化模式消息是将整个事件(属性和数据)编码到事件的有效载荷中的消息。
有关 CloudEvents 规范的更多信息,请参阅 cloudeven
使用控制台将 Amazon 事件转换为 CloudEvents 格式
要将事件转换为传送到目标之前的 CloudEvents 格式,首先要创建事件总线规则。作为定义规则的一部分,在将变换事件发送到您指定的目标之前,您可以使用输入 EventBridge 转换器来处理变换事件。
遵循创建对事件作出反应的 Amazon EventBridge 规则过程中的步骤。
在该选择目标步骤中,当系统提示您选择 API 目标作为目标类型时:
选择 EventBridge API 目的地。
请执行以下操作之一:
选择使用现有 API 目标并选择现有 API 目标
选择创建新 API 目标并指定必要的设置来定义新 API 目标。
有关指定所需设置的更多信息,请参阅创建 API 目标。
为事件指定必需的 Content-Type 标头参数: CloudEvents
在 “标题参数” 下,选择 “添加标题参数”。
对于密钥,请指定
Content-Type
。对于值,请指定
application/cloudevents+json; charset=UTF-8
。
为目标指定执行角色。
定义输入转换器,将源事件数据转换为以下 CloudEvents 格式:
在 “其他设置” 下,对于 “配置目标输入”,选择 “输入变压器”。
然后选择 “配置输入变压器”。
在目标输入变压器下,指定输入路径。
在下面的输入路径中,region 属性是该 CloudEvents 格式的自定义扩展属性。因此,不要求遵守 CloudEvents 规范。
CloudEvents 允许您使用和创建核心规范中未定义的扩展属性。有关更多信息,包括已知扩展属性的列表,请参阅CloudEvents 规范文档
中的CloudEvents 扩展属性 GitHub。 { "detail": "$.detail", "detail-type": "$.detail-type", "id": "$.id", "region": "$.region", "source": "$.source", "time": "$.time" }
在模板中,输入模板以将源事件数据转换为 CloudEvents 格式。
在下面的模板中,
region
并不是严格要求的,因为输入路径中的region
属性是 CloudEvents 规范的扩展属性。{ "specversion":"1.0", "id":<id>, "source":<source>, "type":<detail-type>, "time":<time>, "region":<region>, "data":<detail> }
按照步骤完成规则的创建。