我们来继续学习如何在实战中使用SAP Kyma.
Jerry在之前的文章里,分别介绍了如何本地搭建WordPress实例:
以及如何把这个本地搭建的WordPress实例上的某些事件,发布到SAP Kyma上:
本文继续这个集成场景的介绍,并完成最后一步:在SAP Kyma上编写Lambda函数,以响应从WordPress发送到Kyma的事件。响应函数的逻辑,出于演示目的,Jerry简单地选择在Kyma上调用微信API,把WordPress上发表的博客内容,直接转发给某个硬编码的微信用户,即Jerry自己的微信。
在按照前两篇文章的步骤做了之后,我们在SAP Kyma的服务目录(Service Catalog)下能看到从本地WordPress导入的服务(包含暴露的事件和API),大家可以把这个服务目录简单类比成SAP云平台的Service Market Place.
接下来,SAP Kyma上的扩展开发人员,就可以基于这个服务开始工作了。
点击Add once,创建一个新的WordPress服务实例:
然后创建一个新的Lambda函数:
Lambda函数的实现类型选择nodejs,
触发方式选择成event trigger-事件触发,具体的触发事件选择从WordPress导入的post.published, 即文章发布事件。
也就是说,当WordPress里有新的博客发布时,WordPress会触发post.published事件,增强后的WordPress插件会把这个事件,连同发布的博客内容作为参数一起传递给Kyma,而Kyma会调用上述创建的监听在post.published事件上的Lambda函数,后者实际上就是观察者-发布者设计模式里的观察者。
接下来在Lambda函数里的开发就是纯粹的nodejs编程工作了,使用nodejs提供的axios库,将WordPress传递给Kyma的博客内容从事件参数event里解析出来,调用微信接口发送给指定的微信用户。
Dependencies区域的作用,就相当于nodejs项目的package.json, 用于定义nodejs代码执行所需的各种外部依赖。
最后一步,就是创建一个Service Binding,把Lambda函数同之前创建的WordPress服务实例绑定起来。
这个操作和SAP云平台CloudFoundry环境里的服务配置做法是一致的,所以有过SAP Cloud Platform开发经验的程序员,对SAP Kyma上这些配置能够很容易上手。
至此,所有的开发和配置工作都结束了。
最后来做个测试。Jerry最近看了Craig Mazin执笔,Johan Renck执导,由HBO/Sky合拍的迷你剧《切尔诺贝利》,深感人类在核危机爆发后的渺小和无力。
在WordPress上发布一篇博客:
谎言的代价是什么?
并非是我们会把谎言误认为真相,
真正危险的是,
我们听多了谎言,便不能分辨出真相
单步调试WordPress,发现发布博客的内容被发送到了指向Kyma事件处理的这个url:
回到Kyma的Lambda界面,点击Show Logs查看日志,能发现WordPress发布的事件成功被Kyma的Lambda函数接收到了:
最后Jerry的微信号收到了这条在WordPress上首发,经Kyma中转的,关于《切尔诺贝利》观后感的博客:
下面是这个集成效果的演示视频:
https://v.qq.com/x/page/e0905ksqlkb.html
可以持续关注本公众号,获得SAP Kyma的更多使用案例分享,感谢阅读。
这个场景用的到增强的WordPress源代码,以及WordPress的Kyma插件源代码,可以从Jerry的github上获得:
https://github.com/i042416/Wordpress
更多阅读
相关推荐
SAP Cloud Platform, Kyma Runtime旨在轻松扩展和混合不同的 SAP 应用程序和第三方 API。 要演示SAP Cloud Platform, Kyma Runtime功能,您可以使用虚拟应用程序进行集成,而不是完整的应用程序设置。 智能轻量级...
这些示例以多种语言实现,并演示了各种Kyma运行时功能和用例场景。开发人员应该能够参考这些样本并实现自己的业务场景。 先决条件 运行各种示例需要访问Kyma运行时。您还可以在每个样本的“先决条件”部分中找到其他...
Kyma一种在云原生世界中连接和扩展企业应用程序的灵活而简便的方法
我们提供有关如何使用不同的工具和服务逐步在 SAP BTP 上开发和部署基于信息和示例。 计划提供多个相互构建的模块。 您可以从第一个模块开始本教程,也可以从中间开始,因为此存储库中提供了每个教程模块的源代码...
kyma-nodejs-utils
对于本地开发和CI集成作业,使用固定的Kyma和Compass版本。 要更改Kyma或Compass的版本,请参阅installation/resources目录中的 。 使用Kyma进行本地安装 要以最少的Kyma安装,指南针和Kyma Control Plane安装Kyma ...
认识,这些是常规的贡献者和Kyma的创建者。 过程 在您开始贡献之前,请查看。 为了更好地了解Kyma社区的工作方式,请阅读并了解Kyma的。 所有贡献者都遵循建议的,该依赖于分叉,分支,重新设置和压缩。 对其进行...
美国Kyma公司计划填补“绿光LED空白”
示例项目提供了一个中央存储库,用于展示和说明有关Kyma的功能和概念。 这是一个例子 一个示例是一个小示例,演示了Kyma的特定功能或概念。 一个示例涉及不需要任何说明的完整,即用型应用程序开发。 一个例子必须...
无需设置和部署通常很复杂的应用程序,只需将模拟与Kyma配对即可进行开发和试验。 完成后,只需切换“船”以连接到目标应用程序并使用它。 Varkes框架提供了以下节点模块以使应用程序模拟工作: API服务器提供一个...
组件Console项目由以下UI项目组成: -Kyma UI的主框架服务目录,实例和代理的UI层 -用于显示命名空间范围和集群范围的插件的视图 -日志视图 -项目的实验视图。 -验收和端到端测试控制台还包括React和Angular库: -...
Kyma /kee-ma/是用于扩展具有微服务和功能的应用程序的平台。 它提供了CLI和UI,通过它们您可以将应用程序连接到Kubernetes集群。 借助内置的您还可以安全地公开应用程序的API或事件。 然后,您可以通过创建微服务或...
关于 此存储库提供了一个示例,展示了如何... 然后使用 git 操作自动化部署,该操作为每个函数生成一个 deployment.yaml 并将它们部署到 Kyma 集群。 本地开发 - Kubeless 该项目包含必要的最小配置以在本地运行基于 ...
开发人员主题演讲旨在展示使用不同工具,技术和语言的不同背景的开发人员如何聚集在一起,共同为使用SAP Cloud Platform及其上的服务和运行时扩展SAP S / 4HANA Cloud系统做出贡献。 观看,并在博客文章了解有关此...
但是,在此平台上,您可以使用几个运行时来构建和操作并行扩展: (又名Cloud Foundry) (基本上是托管的Knative产品) -托管的环境(又名Steampunk) 在我看来,Steampunk在扩展方面是另一种竞争者。 我肯定会...
SAP的Devtoberfest 2020 本星期 宣布决赛入围者,现在对总冠军的投票已经完成: : 。 投票将于11月23日星期一关闭! 重要日期 日期 描述 9月23日,CEST 1700(UTC + 2) 10月12日至16日 10月23日在1830年-11月2日在...
test-infra存储库的目的是存储在kyma-project组织中使用的测试基础结构的配置和脚本。 项目结构 test-infra存储库具有以下结构: ├── .github # Pull request and issue templates ├── development # ...
注意:项目结构,体系结构和其他项目特定的详细信息位于目录中。 先决条件 使用以下工具来设置项目: 用法 安装依赖项 要安装所有依赖项,请运行以下命令: npm install 在本地启动网站 使用热重载功能启动开发...
在Kyma中部署Approuter 该存储库告诉您如何创建服务,服务绑定以及使用volumemount并将其绑定到approuter。 一切都只有一个Yaml
摩洛伊斯兰解放阵线 ...用MILV构建Docker映像,以在连续集成管道中使用它。 make build-image 您可以以与MILV二进制文件相同的方式使用Docker映像。为此,请挂载MILV应该验证的目录。 cd .. docker run