このドキュメントでは、Business Eventing Toolkit for SAP を使用してイベントを公開する方法について説明します。
構成された Google Cloud ターゲットにイベントをプログラムで公開する
ターゲット サービスは、構成されたターゲット Google Cloud サービスに基づいて派生します。ターゲット Google Cloud サービスの構成方法については、ターゲット Google Cloud サービスを構成するをご覧ください。
次のコード スニペットは、構成済みのターゲットにイベントデータをパブリッシュする方法を示しています。
/goog/cl_event_publisher=>publish_event(
EXPORTING
iv_event_key = 'EVENT_KEY'
it_data = VALUE /goog/cl_publisher_base=>tt_messages( ( data = 'Hello World!' ) )
IMPORTING
et_output = DATA(lt_output)
et_return = DATA(lt_return)
).
EVENT_KEY
は、ターゲット Google Cloud サービスにイベントをパブリッシュするように構成されたイベントキーに置き換えます。
イベントを CloudEvent として送信するには、Cloud Event のデフォルト属性キーを構成し、ターゲット Google Cloud サービスを構成するときにこのキーをイベントキーに接続します。次に、Business Eventing Toolkit for SAP が CloudEvent のデフォルトの属性値を取得します。
デフォルト値を使用して API リクエストをプログラムで CloudEvents としてパブリッシュする
次のコード スニペットは、デフォルト値を使用して HTTP API リクエストを CloudEvent として公開する方法を示しています。
lo_api_client->encode_as_cloud_event(
EXPORTING
iv_ce_key = 'CLOUD_EVENT_ATTRIBUTE_KEY'
).
CLOUD_EVENT_ATTRIBUTE_KEY
は、CloudEvent 属性を構成するセクションで構成した Cloud Event のデフォルト属性キーに置き換えます。
API リクエストをプログラムで CloudEvents としてパブリッシュする
ビジネス イベントを CloudEvent としてプログラムで公開するときに、構成テーブルで定義されたデフォルト値をオーバーライドするには、ENCODE_AS_CLOUD_EVENT
メソッドを使用して CloudEvent 属性の特定の値を渡します。
次のコード スニペットは、HTTP リクエストを CloudEvent としてエンコードするときにデフォルト値をオーバーライドする方法を示しています。
lo_api_client->encode_as_cloud_event(
EXPORTING
"mandatory attributes
iv_source = 'SAP'
iv_type = 'ce.structured-ce'
" add optional attributes
iv_subject = 'test'
" extension attributes -> key,value
it_extension_attr = VALUE #( ( name = 'my_ext_attr1' value = 'my_ext_value1')
( name = 'my_ext_attr2' value = 'my_ext_value2' ) )
iv_encoding = /goog/if_ce_spec_version=>c_ce_encoding-binary
).
SAP イベントを公開するには、以下の内容を確認してください。
- イベントを Pub/Sub に公開する
- Cloud Run functions にイベントを公開する
- Firebase Cloud Messaging にイベントを公開する
- Integration Connectors にイベントを公開する