本文說明如何透過 SAP 的 Business Eventing Toolkit 將事件發布至 Pub/Sub。
事前準備
請確認您或管理員已完成下列必要條件:
- 已啟用 Pub/Sub API。如要瞭解如何啟用 Google Cloud API,請參閱「啟用 API」。
- 建立 Pub/Sub 主題。如要瞭解如何建立 Pub/Sub 主題,請參閱「建立主題」。
- 設定用於驗證的用戶端金鑰。如要瞭解如何在內部部署或任何雲端版 ABAP SDK for Google Cloud 中設定驗證機制,請參閱「驗證機制總覽」。
- 用於驗證的用戶端金鑰中設定的服務帳戶,必須具備下列角色:Pub/Sub 發布者(
roles/pubsub.publisher
)。 已設定目標 Google Cloud 服務,詳細資料如下:
- 事件處理器類別:
/GOOG/CL_PUBLISHER_PUBSUB
- Google Cloud 金鑰名稱:用於驗證的用戶端金鑰。
- 事件參數 1:Pub/Sub 主題名稱。
如要瞭解如何設定目標 Google Cloud 服務,請參閱「設定目標 Google Cloud 服務」。
- 事件處理器類別:
發布事件
如要將事件資料發布至 Pub/Sub,請呼叫 publish()
方法:
DATA: lt_data TYPE /goog/if_ce_publisher=>tt_messages.
" Write logic to populate LT_DATA.
lt_data = VALUE #( ( data = 'Hello World!' ) ).
/goog/cl_event_publisher=>publish_event(
EXPORTING
iv_event_key = 'EVENT_KEY'
it_data = lt_data
IMPORTING
et_output = DATA(lt_output)
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text)
).
將 EVENT_KEY
替換為用於將事件發布至 Pub/Sub 的事件鍵。
如要以 CloudEvent 傳送事件,您可以設定CloudEvent 預設屬性鍵,並在設定目標 Google Cloud 服務時,將此鍵附加至事件鍵。接著,SAP 的 Business Eventing Toolkit 會挑選 CloudEvent 的預設屬性值。