通过适用于 SAP 的业务事件处理工具包发布事件

本文档介绍了如何通过适用于 SAP 的业务事件处理工具包发布事件。

以程序化方式将事件发布到配置的 Google Cloud 目标

目标服务是根据配置的目标 Google Cloud 服务派生的。如需了解如何配置目标 Google Cloud 服务,请参阅配置目标 Google Cloud 服务

以下代码段展示了如何将事件数据发布到已配置的目标:

/goog/cl_event_publisher=>publish_event(
     EXPORTING
        iv_event_key = 'EVENT_KEY'
        it_data      = VALUE /goog/cl_publisher_base=>tt_messages( ( data = 'Hello World!' ) )
     IMPORTING
        et_output    = DATA(lt_output)
        et_return    = DATA(lt_return)
).

EVENT_KEY 替换为为将事件发布到目标 Google Cloud 服务而配置的事件键。

如需以 CloudEvent 的形式发送事件,您可以在配置目标 Google Cloud 服务时配置 Cloud Event 默认属性键,并将此键附加到事件键。然后,适用于 SAP 的 Business Eventing Toolkit 会提取 CloudEvent 的默认属性值。

以编程方式将 API 请求作为包含默认值的 CloudEvent 发布

以下代码段展示了如何将 HTTP API 请求发布为具有默认值的 CloudEvent:

lo_api_client->encode_as_cloud_event(
   EXPORTING
      iv_ce_key         = 'CLOUD_EVENT_ATTRIBUTE_KEY'
).

CLOUD_EVENT_ATTRIBUTE_KEY 替换为配置 CloudEvent 属性部分中配置的 Cloud Event 默认属性键

以编程方式将 API 请求发布为 CloudEvents

如需在以编程方式将业务事件发布为 CloudEvent 时替换配置表中定义的默认值,您可以使用 ENCODE_AS_CLOUD_EVENT 方法为 CloudEvent 属性传递特定值。

以下代码段展示了如何在将 HTTP 请求编码为 CloudEvent 时替换默认值:

lo_api_client->encode_as_cloud_event(
   EXPORTING
      "mandatory attributes
      iv_source         = 'SAP'
      iv_type           = 'ce.structured-ce'
      " add optional attributes
      iv_subject        = 'test'
      " extension attributes -> key,value
      it_extension_attr = VALUE #( ( name = 'my_ext_attr1' value = 'my_ext_value1')
                                   ( name = 'my_ext_attr2' value = 'my_ext_value2' ) )
      iv_encoding       = /goog/if_ce_spec_version=>c_ce_encoding-binary
).

如需发布 SAP 事件,请探索以下内容: