你好,
首先,这两个博客值得一读:
https://blogs.sap.com/2019/06/19/sap-c4hana-extensibility-commerce-mock-setup/
https://blogs.sap.com/2019/06/19/sap-c4hana-extensibility-triggering-lambdas-with-events/
但是,对于那些无法进入C/4HANA驾驶舱的人,哪个云服务器好,你可能希望能够测试一下你自己。可以在本地运行Varkes实例,在这篇文章中,我们将学习一种方法,以及实现一个简单的Lambda函数,将消息发布到一个事件触发器上的空闲通道。
前提条件:
因此,首先让我们启动并运行模拟服务器。这是简单的部分。在Rancher中,我将创建一个基本堆栈,我们称之为Varkes Commerce:
接下来我添加了一个服务并暴露了端口10000
一旦图像下载并启动,你应该可以在:10000访问它,它看起来像这样。
现在我们需要设置Kyma。我按照这里的说明:
https://kyma project.io/docs/root/kyma/#安装-本地安装kyma
注意:如果你以Ubuntu为基础,也安装socat(apt get install socat)作为掌舵经纪人的要求。其他一切都应该是好的,安装他们的所有先决条件手动根据他们的指示。我不打算复制和粘贴在这里,因为他们可以很容易地改变。
你也可以部署在GCP如果你愿意。
一旦你做了,如果您进行了本地安装,您可能会注意到缺少一些内容(日志记录、跟踪等)。要安装这些内容,请按照配置中的步骤进行操作–此处截图,以便您可以看到它。
如果一切顺利,您应该能够使用安装提供的凭据访问您的Kyma实例。
在右侧,我们希望创建一个新的命名空间来容纳我们的商业模拟测试/lambda函数/等。因此,单击创建命名空间:
一旦创建,单击该命名空间,现在我们希望创建一个应用程序:
现在我们希望连接我们的Varkes应用程序启动–按下连接应用程序按钮,您将得到一个带有令牌的url:
复制此url(您可以使用"复制到剪贴板"按钮),现在返回到您的Varkes实例。单击右上角的连接按钮并粘贴到url:
注意:您可能需要将Kyma的证书添加到Varkes服务器的受信任的证书,取决于它是否是本地签名的证书等。或者,您可以使用"不安全连接",但显然仅用于测试目的。
现在您已连接到您的Kyma实例,它看起来更像:
您可以单独注册它们或仅使用"全部注册"按钮。我选择全部注册。
完成后,返回Kyma,淘客是什么意思,进入commerce模拟名称空间并选择Catalog。选择Services选项卡,您将看到:
这里我已经注册了Events和Order Management Webservices,但我将经历注册优惠券Web服务的过程。选择SAP Commerce Cloud–优惠券Web服务并按"添加一次"按钮。
完成后,您应该在"实例"选项卡中看到它:
现在正在开发中,我们可以创建Lambda–确保您仍然在Commerce mock命名空间中,然后单击Lambda,添加Lambda:
给它一个名称,然后选择函数Trigger->Event Trigger。如果一切顺利,您应该会看到Varkes mock服务器的事件列表:
我们将选择已创建customer.created–v1事件。接下来我们要添加一些代码来执行某些操作。在本例中,我们只需将有效负载数据发布到Slack通道。一种方法是使用一个简单的webhook。您需要对Slack board进行管理员访问,企业应用管理,以便为特定通道创建webhook/令牌,在我的示例中,大数据视频,我使用的是我的测试Slack board和一个名为"#kyma test"的通道。
您可以看到我们需要Slack node模块,大数据处理平台,因此,我们还需要以某种方式指出我们的依赖关系,但代码的本质是将我们的事件数据发布到Slack webhook,我们应该希望看到一个结果。
在Lambda函数定义中有一个dependencies选项卡,您可以在本质上为节点.js包.json在这里定义你的依赖:
所以我们的完成的Lambda函数现在看起来是这样的。
一旦你按下Save,让我们检查它是否完全部署在Kyma中:
好,我们现在准备好尝试并触发这个事件。为此,我们需要返回到我们的Varkes实例。为此,我们可以使用控制台,它是Swagger生成的控制台UI来测试服务。
我们想要在事件集合中发布到/事件:
请注意,有效负载中的值应该与我们在Lambda函数中处理的事件匹配。记得我们选择了已创建customer.createdv1事件。
我们正在传递一些Lambda函数也应该能够看到的数据,并将其发布到slack channel。
单击Execute,希望看到您有一个成功的响应:
让我们检查slack channel,我们应该期待来自webhook的消息,以及我们在事件中传递的mykey/value对。
成功!我们已经从我们的Varkes实例开始,向Kyma发布一个请求,Kyma执行Lambda函数并发布到Slack通道。