将事件发布到 Cloud Run 函数

本文档介绍了如何通过适用于 SAP 的 Business Eventing Toolkit 将事件发布到 Cloud Run 函数。

前提条件

请确保您或您的管理员已满足以下前提条件:

  • 启用了 Cloud Run functions API。如需了解如何启用 Google Cloud API,请参阅启用 API
  • 配置了用于身份验证的客户端密钥。如需了解如何在本地版本或任何云版本的 ABAP SDK for Google Cloud 中设置身份验证,请参阅身份验证概览
  • 在客户端密钥中配置用于身份验证的服务账号必须具有以下角色:

  • 使用以下详细信息配置目标 Google Cloud 服务:

    • 事件处理器类/GOOG/CL_PUBLISHER_CLOUDFUNC
    • Google Cloud 密钥名称:用于身份验证的客户端密钥。
    • 事件参数 1:Cloud Run functions 函数的名称。
    • 事件参数 2:Cloud Run functions 函数的位置。
    • 事件参数 3:可选。使用的 HTTP 方法。例如 GETPOST。如果未提供,则默认值为 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 的默认属性值。