このドキュメントでは、Business Eventing Toolkit for SAP を使用して Cloud Run functions にイベントを公開する方法について説明します。
前提条件
自身または管理者によって次の事前準備が完了していることを確認してください。
- Cloud Run functions API が有効になっている。 Google Cloud API を有効にする方法については、API の有効化をご覧ください。
- 認証用のクライアント キーが構成されている。ABAP SDK for Google Cloud のオンプレミス エディションまたはクラウド エディションで認証を設定する方法については、認証の概要をご覧ください。
認証用にクライアント キーで構成されたサービス アカウントには、次のロールが必要です。
- 第 1 世代の Cloud Run functions の場合: Cloud Functions 起動元(
roles/cloudfunctions.invoker
) - 第 2 世代の Cloud Run functions の場合: Cloud Run 起動元(
roles/run.invoker
)
- 第 1 世代の Cloud Run functions の場合: Cloud Functions 起動元(
ターゲット 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 functions に公開するには、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 functions にイベントを公開するように構成されたイベントキーに置き換えます。
イベントを CloudEvent として送信するには、CloudEvent のデフォルト属性キーを構成し、ターゲット Google Cloud サービスを構成するときにこのキーをイベントキーに接続します。次に、Business Eventing Toolkit for SAP が CloudEvent のデフォルトの属性値を取得します。