我们来继续学习如何在实战中使用SAP Kyma.

Jerry在之前的文章里,分别介绍了如何本地搭建WordPress实例:
什么?在SAP中国研究院里还需要会PHP开发?

以及如何把这个本地搭建的WordPress实例上的某些事件,发布到SAP Kyma上:

第三方应用如何在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中转的,关于《切尔诺贝利》观后感的博客:

下面是这个集成效果的演示视频:

可以持续关注本公众号,获得SAP Kyma的更多使用案例分享,感谢阅读。

这个场景用的到增强的WordPress源代码,以及WordPress的Kyma插件源代码,可以从Jerry的github上获得:

https://github.com/i042416/Wordpress

更多阅读

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

WordPress,SAP Kyma和微信三者的集成的更多相关文章

  1. 周伯通的空明拳,米诺斯的星尘傀儡线,SAP Kyma的Serverless

    Jerry一直认为,金庸的<天龙八部>里的武学建模已经有点脱离传统武侠小说的范畴了,像已经走上玄幻道路的灵鹫宫"八荒六合唯我独尊功",以及杀伤力足够能被视为现代激光武器 ...

  2. 从ABAP Netweaver的SICF到SAP Kyma的Lambda Function

    ABAP Netweaver里的事务码SICF是Jerry做原型开发时非常喜欢使用的一个工具:但凡遇到需要把ABAP系统里的资源以服务的方式暴露出来的场景,Jerry都喜欢在SICF里创建一个服务节点 ...

  3. SAP成都研究院大卫哥:SAP C4C中国本地化之微信小程序集成

    今天的文章来自Wu David,SAP成都研究院C4C开发团队的架构师,在加入团队之前曾经在SAP上海研究院工作,组内同事习惯亲切地称呼他为大卫哥. 大卫哥身高据Jerry目测有1米8以上,是成都C4 ...

  4. SAP UI5和微信小程序对比之我见

    今天继续由SAP成都研究院著名的菜园子小哥Wang Cong,给大家分享他作为一个SAP前端人员是如何看待SAP UI5和微信小程序的异同点的. 关于Wang Cong种菜的手艺,大家请移步到他以前的 ...

  5. 站在巨人肩膀上的牛顿:Kubernetes和SAP Kyma

    这周Jerry在SAP上海研究院参加了一个为期4天的Kubernetes培训,度过了忙碌而又充实的4天.Jason,Benny和Peng三位大神的培训干货满满,借此机会,Jerry和过去的两位老领导P ...

  6. 第三方应用如何在SAP Kyma上进行服务注册

    Jerry之前的公众号文章 什么?在SAP中国研究院里还需要会PHP开发?提到了一个SAP Kyma的应用场景: 旅行兼社交达人伊森,使用经过SAP Kyma扩展之后的WordPress这个网站来写博 ...

  7. 利用WordPress REST API 开发微信小程序从入门到放弃

    自从我发布并开源WordPress版微信小程序以来,很多WordPress网站的站长问有关程序开发的问题,其实在文章:<用微信小程序连接WordPress网站>讲述过一些基本的要点,不过仍 ...

  8. 基于SAP Kyma的订单编排增强介绍

    尽管有一万个舍不得,2018年还是无可挽回地离我们远去了. 唯有SAP成都研究院的同事和我去年在网络上留下的这些痕迹,能证明2018年我们曾经很认真地去度过每一天: SAP成都研究院2018年总共87 ...

  9. 微信小程序集成腾讯云 IM SDK

    微信小程序集成腾讯云 IM SDK 1.背景 因业务功能需求需要接入IM(即时聊天)功能,一开始想到的是使用 WebSocket 来实现这个功能,然天意捉弄(哈哈)服务器版本太低不支持 wx 协议(也 ...

随机推荐

  1. 123457123457---com.threeapp.ShuiShiYanLiWang01----谁是眼力王

    com.threeapp.ShuiShiYanLiWang01----谁是眼力王

  2. Day5作业,商城+ATM机+后台管理

    晚来了....东西太多,需要写的blog内容太多,re讲的渣渣,不明白为什么oldboy经常换老师,吐槽下吧,真心不爱了.... github地址在这:https://github.com/ccorz ...

  3. css调用字体 没装微软雅黑,用css写@font-face让其能显示微软雅黑字体

    在设计布局网页时 经常想要用一些比较好看的字体,比如微软雅黑,这个字体在近年来在网页设计中运用越来越平常, 然而所使用的字体也只有自己能看到 到别的机子上 又恢复了原来的宋体神马的. 经过一位高手的提 ...

  4. Tools - 关于Network

    Tcpdump homepage - tcpdump wiki - tcpdump Wireshark homepage - wireshark wiki - wireshark Wireshark基 ...

  5. iOS-条形码扫描技术SDK:ZBar(转)

    ios条形码扫描技术 iOS 应用里实现条形码扫描功能,有个免费开源的 SDK:ZBar(http://zbar.sourceforge.net/iphone/sdkdoc/install.html) ...

  6. 01.轮播图之四 :imageViews(2 或者 3 个imageview) 轮播

    首先说下 3 个imageView的轮播,这个逻辑分析起来 比较简单, 先上传个图片吧::::: 主要分析起来,核心就是这样 :新的图片永远是加在中间ImageView上的,下一轮的第一张图片,是上一 ...

  7. 【C/C++开发】ffplay中的FrameQueue的自我理解

    最近在研究ffplay,以下是本人今天在研究FrameQueue的时候整理的笔记,如有错误还请有心人指出来~ //这个队列是一个循环队列,windex是指其中的首元素,rindex是指其中的尾部元素. ...

  8. go项目部署到linxu

    环境: 在mac上编译, 编译后上传到linux, 然后运行代码 go项目打包 一.直接部署到linux 1. 在mac上, 进入到项目目录, 执行以下命令, 进行编译: CGO_ENABLED=0 ...

  9. 最新 拉卡拉java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.拉卡拉等10家互联网公司的校招Offer,因为某些自身原因最终选择了拉卡拉.6.7月主要是做系统复习.项目复盘.LeetCo ...

  10. C#使用KingAOP实现AOP面向切面编程一

    AOP面向切面编程(Aspect Oriented Programming),是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术. 实现AOP主要由两种方式,一种是编译时静态植入,优点是 ...