本文档介绍了如何通过适用于 SAP 的 Business Eventing Toolkit 将事件发布到 Cloud Run 函数。
前提条件
请确保您或您的管理员已满足以下前提条件:
- 启用了 Cloud Run functions API。如需了解如何启用 Google Cloud API,请参阅启用 API。
- 配置了用于身份验证的客户端密钥。如需了解如何在本地版本或任何云版本的 ABAP SDK for Google Cloud 中设置身份验证,请参阅身份验证概览。
在客户端密钥中配置用于身份验证的服务账号必须具有以下角色:
- 对于第 1 代 Cloud Run 函数:Cloud Functions Invoker (
roles/cloudfunctions.invoker
) - 对于第 2 代 Cloud Run 函数:Cloud Run Invoker (
roles/run.invoker
)
- 对于第 1 代 Cloud Run 函数:Cloud Functions Invoker (
使用以下详细信息配置目标 Google Cloud 服务:
- 事件处理器类:
/GOOG/CL_PUBLISHER_CLOUDFUNC
- Google Cloud 密钥名称:用于身份验证的客户端密钥。
- 事件参数 1:Cloud Run functions 函数的名称。
- 事件参数 2:Cloud Run functions 函数的位置。
- 事件参数 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 的形式发送事件,您可以在配置目标 Google Cloud 服务时配置 Cloud Event 默认属性键,并将此键附加到事件键。然后,适用于 SAP 的 Business Eventing Toolkit 会提取 CloudEvent 的默认属性值。