本文档介绍了如何通过适用于 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 事件,请探索以下内容: