将事件发布到 Pub/Sub

该文档介绍了如何通过适用于 SAP 的业务事件处理工具包将事件发布到 Pub/Sub。

前提条件

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

  • 启用了 Pub/Sub API。如需了解如何启用 Google Cloud API,请参阅启用 API
  • 创建了 Pub/Sub 主题。如需了解如何创建 Pub/Sub 主题,请参阅创建主题
  • 配置了用于身份验证的客户端密钥。如需了解如何在本地版本或任何云版本的 ABAP SDK for Google Cloud 中设置身份验证,请参阅身份验证概览
  • 在客户端密钥中配置用于身份验证的服务账号必须具有以下角色:Pub/Sub Publisher(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 的形式发送事件,您可以在配置目标 Google Cloud 服务时配置 Cloud Event 默认属性键,并将此键附加到事件键。然后,适用于 SAP 的 Business Eventing Toolkit 会提取 CloudEvent 的默认属性值。