跳转到内容
技术文章
作者的资料照片高拉万博新体育手机客户端夫阿比

使用SAP BTP, Kyma运行时扩展SAP营销云

概述

本博客将逐步介绍如何完成与SAP Marketing Cloud和SAP BTP、Kyma运行时集成API和事件所需的所有必要配置。这反过来又使客户和合作伙伴能够使用SAP BTP、Kyma运行时扩展SAP营销云。
备注SAP营销云或SAP S/4HANA云目前无法与SAP BTP试用账户
配置

上面的配置允许访问SAP Marketing Cloud api,并提供配置Kyma函数和微服务的能力,以触发SAP Marketing Cloud事件。

这要归功于SAP S/4HANA云扩展性,这是一种使用Cloud Foundry和SAP BTP、Kyma运行时扩展任何S/4系统的通用方式。

一旦配置完成,运行时流将触发SAP BTP中的功能和微服务,Kyma运行时与SAP Marketing Cloud事件。也可以使用提供的凭证调用SAP Marketing Cloud api。

运行时

先决条件

  • 一个预置的SAP BTP, Kyma运行时。读这个博客开始吧。
  • 一个SAP营销云租户,将使用SAP S/4HANA云扩展性和SAP BTP, Kyma运行时进行扩展。
  • 启用SAP BTP、Kyma运行时的SAP BTP子帐户上的SAP企业消息传递服务可用的配额。

注册S/4系统(SAP营销云)

您将首先在SAP BTP Cockpit中将SAP Marketing Cloud注册为一个系统。这将允许SAP S/4HANA云扩展设置必要的配置和资源,以支持API和事件与SAP BTP、Kyma运行时集成。新万博苹果版
  • 在SAP BTP驾驶舱中创建一个系统。

  • 复制生成的令牌。
  • 在SAP营销云中创建一个新的扩展维护SAP云平台扩展并提供复制的令牌。
  • 在SAP BTP中,为启用SAP BTP、Kyma runtime的子帐户添加SAP S/4HANA Cloud Extensibility的授权。
    • 选择添加业务计划
    • 选择SAP S/4HANA云扩展
    • 在下拉菜单中选择已注册的S/4系统。
    • 选择两个消息传递而且api访问计划。
    • 保存更改

这将使注册的系统可以在Kyma运行时的服务目录中访问,正如您将在接下来的步骤中看到的那样。

启用调用SAP Marketing Cloud api

提示:有关设置的详细信息api访问有关SAP S/4HANA云api在Kyma运行时,请参阅SAP帮助门户的官方文档

本节介绍如何在SAP BTP、Kyma运行时中进行必要的设置,以便能够对SAP Marketing Cloud进行API调用。

  • 在SAP BTP, Kyma运行时,访问SAP S/4HANA云扩展在服务目录中。

  • 属性创建一个新实例api访问计划。

在后台,这将:

    • 在SAP营销云中建立所有必要的沟通安排。
    • 创建必要的系统用户来进行API调用。
    • 设置API调用所需的任何其他配置。

注意:scenarioId将取决于SAP营销云的API调用。

  • 将创建的实例绑定到Kyma中的函数或微服务。

连接配置将作为环境变量提供给微服务或函数使用。

请看一个使用服务绑定注入的凭证的示例函数:

/** *将此添加到dependencies {"name": "call-mktng-api", "version": "1.0.0", "dependencies": {"axios": "latest"}} */ const axios = require("axios");const baseURI = ' ${process.env['MKTNG_URL']}/sap/opu/odata/ sap/ API_MKT_CAMPAIGN_SRV;v=2 ' console.log(' baseURI is——${baseURI} ');模块。exports = {main: async函数(事件,上下文){try {const response = await axios({method: 'get', url: ' ${baseURI}/Campaigns?$top=2 ', auth:{用户名:进程。env['MKTNG_User'],密码:进程。env['MKTNG_Password']}});console.log (response.data.d.results);返回response.data.d.results} catch(错误){console.log(错误);event.extensions.response.status (500) .send(“错误”);}}}

这样的函数既可以从其他函数内部调用,也可以通过Kyma API规则在外部公开,然后通过URL调用

启用SAP Marketing Cloud事件消费

提示:关于在Kyma运行时启用SAP S/4HANA Cloud事件消耗的详细信息,请参见SAP帮助门户的官方文档

设置EMS客户端

在Kyma的服务目录中,创建SAP S/4 HANA云扩展实例。消息传递计划:

  • systemName,输入已注册的系统名称。
  • 提供独一无二的emClientId

它将在后台创建Enterprise Messaging客户机,并设置必要的通信安排。您可以在Enterprise Messaging管理UI中验证创建的客户机。

命名空间看起来如下所示:sap / S4HANAOD / {emClientId}

这个企业消息传递客户端将接收来自SAP Marketing Cloud的事件。要从这个实例捕获事件并将其转发到Kyma,您需要创建另一个Enterprise Messaging客户机。

subscriberFilter类创建的相同名称空间SAP S/4 HANA云扩展的实例消息传递计划。这样做是为了从该企业消息传递客户机中的名称空间接收事件。

在SAP Marketing Cloud中配置事件

您现在需要在SAP Marketing Cloud中配置您希望发送到SAP BTP、Kyma运行时的各种扩展的所有事件类型。

  • 在SAP营销云中,访问企业事件支持

  • 进入频道列表,选择频道名称SAP_CP_XF_ {emClientId}

  • 搜索并选择要发送的事件。

作为一个例子,我选择sap / s4 /本·/ marketingpermission / v1 / marketingpermission / *

您将在EMS管理UI中看到相同的事件。

在SAP BTP, Kyma运行时中设置扩展

您现在可以创建一个无服务器的功能或微服务,可以通过企业消息接收来自SAP Marketing Cloud的事件。

这些步骤展示了如何创建函数,但如果您决定使用微服务,流程将类似。

要启用安全访问,您可以选择为公开的webhook设置OAuth2。但是,并不是必须使用OAuth2——客户总是可以使用他们喜欢的身份验证机制,例如基本身份验证或任何其他与EMS webhook一起工作的身份验证机制。

  • 在Kyma中设置OAuth2客户端。
注意:客户端id和客户端秘密值是默认编码的。请解码,然后复制到EMS网络钩子详细信息

  • 使用API规则公开函数。

配置一个企业消息webhook

要使用事件,您需要转到创建的第二个Enterprise Messaging客户机,并配置队列和订阅,以使SAP BTP、Kyma运行时开始接收事件。然后,你需要创建一个webhook。

  • 为此EMS客户端创建一个新队列。

  • 创建队列订阅。

  • 通过设置配置队列订阅主题属性最初创建的名称空间消息传递SAP S/4HANA云扩展实例。

  • 设置网络钩子。

  • webhook url是在Kyma运行时创建的API规则的url,用于接收事件。
  • 为在Kyma运行时中创建的OAuth客户端客户端提供客户端id和客户端秘密。
  • 提供令牌URL。这是一种形式https://oauth2.{kyma集群域}/oauth2/token
这就完成了整个设置,并允许函数开始接收事件。
作为最后一次检查,您可以查看打印在Kyma日志中的有效负载:
Json有效负载示例
{“类型”:“sap.s4.beh.marketingpermission.v1.MarketingPermission.Changed.v1”、“specversion”:“1.0”,“源”:“/违约/ sap.s4.beh / 000000000730096987”,“id”:“+ hY + VeskHtuDiNMBjQ0Tgg = =”,“时间”:“2020 - 10 - 12 t04:51:30z”、“datacontenttype”:“application / json”、“数据”:{“MarketingPermissionUUID”:“fa163e0b - 249 b - 1 - ee9 b48b - 5 ab2bab3c4b8”、“PermissionGranted”:" Y "}}
现在,您已经将SAP Marketing Cloud中的事件和api连接到SAP BTP、Kyma运行时。因此,您可以使用SAP BTP、Kyma运行时扩展SAP营销云

指定的标签

      6个评论
      你一定是登录评论:评论或回复一篇文章
      作者的资料照片尼古万博新体育手机客户端拉·斯塔里科夫
      Nikolay Starikov

      谢谢你,高拉夫!这是一个非常有用的指南

      作者的个人资料照片万博新体育手机客户端苏尼塔Sagar
      (Sunita Sagar

      嗨Gaurav,

      谢谢你的博客。请您告诉我您使用的是哪个市场营销云版本,您是否需要做任何额外的步骤来启用与Kyma运行时集成所需的通信场景?

      问候,
      萨尼塔

      作者的资料照片高拉万博新体育手机客户端夫阿比
      Gaurav艾比
      博客作者

      嗨萨尼塔,

      你可以试试2008版。请确保您登录的用户有足够的信息来执行管理操作,如创建“扩展”等。

      作者头像曼纽尔西格万博新体育手机客户端
      曼努埃尔·西格

      嗨Gaurav,

      我们正试图建立这样的场景,但我们发现我们没有一个“企业事件支持”应用程序在营销云。我们是否缺少其他的先决条件?

      最好的问候,

      曼努埃尔

      作者的资料照片高拉万博新体育手机客户端夫阿比
      Gaurav艾比
      博客作者

      嗨Manuel,

      你可以与负责你的市场准入的人取得联系。也许缺少适当的访问权限。您使用的是哪个版本?

      最好的问候,

      Gaurav艾比

      作者的个人资料照片万博新体育手机客户端约瑟夫·埃鲍尔
      约瑟夫Ehbauer

      嗨Manuel,

      跟随营销云集成指南,您需要在Marketing Cloud系统中执行两个步骤

      • 通过应用程序“维护SAP云平台扩展”检索集成令牌,该应用程序用于Kyma平台上SAP营销云系统之间的初始连接
      • 注册通过应用程序进行事件处理所需的业务对象”企业事件支持”

      注意,要访问应用程序“企业事件支持”,您需要通过相应的业务目录扩展管理员的业务角色。如果您找不到目录,请提出支持单,让同事进行调查,并找出问题的根本原因。

      最好的问候,约瑟夫