本文說明如何透過 Business Eventing Toolkit for 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 傳送事件,您可以設定CloudEvent 預設屬性鍵,並在設定目標 Google Cloud 服務時,將此鍵附加至事件鍵。接著,SAP 的 Business Eventing Toolkit 會挑選 CloudEvent 的預設屬性值。
透過程式輔助方式,將 API 要求發布為含有預設值的 CloudEvents
下列程式碼片段說明如何將 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 預設屬性鍵」。
透過程式碼以 CloudEvents 的形式發布 API 要求
如要透過程式輔助方式將業務事件發布為 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 事件,請參閱下列說明: