本文件說明如何透過 SAP 的 Business Eventing Toolkit 將事件發布至 Cloud Run 函式。
事前準備
請確認您或管理員已完成下列必要條件:
- 啟用 Cloud Run functions API。如要瞭解如何啟用 Google Cloud API,請參閱「啟用 API」。
- 設定用於驗證的用戶端金鑰。如要瞭解如何在內部部署或任何雲端版 ABAP SDK for Google Cloud 中設定驗證機制,請參閱「驗證機制總覽」。
用於驗證的用戶端金鑰中設定的服務帳戶必須具備下列角色:
- 第 1 代 Cloud Run 函式:Cloud Functions 叫用者 (
roles/cloudfunctions.invoker
) - 適用於第 2 代 Cloud Run 函式:Cloud Run 叫用者 (
roles/run.invoker
)
- 第 1 代 Cloud Run 函式:Cloud Functions 叫用者 (
請設定目標 Google Cloud 服務,並提供下列詳細資料:
- 事件處理器類別:
/GOOG/CL_PUBLISHER_CLOUDFUNC
- Google Cloud 金鑰名稱:用於驗證的用戶端金鑰。
- 事件參數 1:Cloud Run 函式的名稱。
- 事件參數 2:Cloud Run 函式的位置。
- 事件參數 3:選用。使用的 HTTP 方法。例如:
GET
、POST
。如未提供,則預設為GET
。
如要瞭解如何設定目標 Google Cloud 服務,請參閱「設定目標 Google Cloud 服務」。
- 事件處理器類別:
發布事件
如要將事件資料發布至 Cloud Run 函式,請呼叫 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
替換為用於將事件發布至 Cloud Run 函式的事件鍵。
如要以 CloudEvent 傳送事件,您可以設定CloudEvent 預設屬性鍵,並在設定目標 Google Cloud 服務時,將此鍵附加至事件鍵。接著,SAP 的 Business Eventing Toolkit 會挑選 CloudEvent 的預設屬性值。