咱们来继续学习如何在实战中使用SAP Kyma.html
Jerry在以前的文章里,分别介绍了如何本地搭建WordPress实例:
什么?在SAP中国研究院里还须要会PHP开发?node
以及如何把这个本地搭建的WordPress实例上的某些事件,发布到SAP Kyma上:ios
本文继续这个集成场景的介绍,并完成最后一步:在SAP Kyma上编写Lambda函数,以响应从WordPress发送到Kyma的事件。响应函数的逻辑,出于演示目的,Jerry简单地选择在Kyma上调用微信API,把WordPress上发表的博客内容,直接转发给某个硬编码的微信用户,即Jerry本身的微信。程序员
在按照前两篇文章的步骤作了以后,咱们在SAP Kyma的服务目录(Service Catalog)下能看到从本地WordPress导入的服务(包含暴露的事件和API),你们能够把这个服务目录简单类比成SAP云平台的Service Market Place.github
接下来,SAP Kyma上的扩展开发人员,就能够基于这个服务开始工做了。编程
点击Add once,建立一个新的WordPress服务实例:json
而后建立一个新的Lambda函数:axios
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/Wo...
要获取更多Jerry的原创文章,请关注公众号"汪子熙":