WordPress,SAP Kyma和微信三者的集成

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

Jerry在之前的文章里,分别介绍了如何本地搭建WordPress实例:

什么?在SAP中国研究院里还需要会PHP开发?

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

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

本文继续这个集成场景的介绍,并完成最后一步:在SAP Kyma上编写Lambda函数,以响应从WordPress发送到Kyma的事件。响应函数的逻辑,出于演示目的,Jerry简单地选择在Kyma上调用微信API,把WordPress上发表的博客内容,直接转发给某个硬编码的微信用户,即Jerry自己的微信。

webp

在按照前两篇文章的步骤做了之后,我们在SAP Kyma的服务目录(Service Catalog)下能看到从本地WordPress导入的服务(包含暴露的事件和API),大家可以把这个服务目录简单类比成SAP云平台的Service Market Place.

webp

接下来,SAP Kyma上的扩展开发人员,就可以基于这个服务开始工作了。

webp

点击Add once,创建一个新的WordPress服务实例:

webp
webp

然后创建一个新的Lambda函数:

webp

Lambda函数的实现类型选择nodejs,

webp

触发方式选择成event trigger-事件触发,具体的触发事件选择从WordPress导入的post.published, 即文章发布事件。

webp

也就是说,当WordPress里有新的博客发布时,WordPress会触发post.published事件,增强后的WordPress插件会把这个事件,连同发布的博客内容作为参数一起传递给Kyma,而Kyma会调用上述创建的监听在post.published事件上的Lambda函数,后者实际上就是观察者-发布者设计模式里的观察者。

接下来在Lambda函数里的开发就是纯粹的nodejs编程工作了,使用nodejs提供的axios库,将WordPress传递给Kyma的博客内容从事件参数event里解析出来,调用微信接口发送给指定的微信用户。

Dependencies区域的作用,就相当于nodejs项目的package.json, 用于定义nodejs代码执行所需的各种外部依赖。

webp

最后一步,就是创建一个Service Binding,把Lambda函数同之前创建的WordPress服务实例绑定起来。

webp

这个操作和SAP云平台CloudFoundry环境里的服务配置做法是一致的,所以有过SAP Cloud Platform开发经验的程序员,对SAP Kyma上这些配置能够很容易上手。

至此,所有的开发和配置工作都结束了。

最后来做个测试。Jerry最近看了 Craig Mazin执笔, Johan Renck执导,由 HBO/Sky合拍的迷你剧《切尔诺贝利》,深感人类在核危机爆发后的渺小和无力。

webp

在WordPress上发布一篇博客:

谎言的代价是什么?

并非是我们会把谎言误认为真相,

真正危险的是,

我们听多了谎言,便不能分辨出真相

webp

单步调试WordPress,发现发布博客的内容被发送到了指向Kyma事件处理的这个url:

webp
webp

回到Kyma的Lambda界面,点击Show Logs查看日志,能发现WordPress发布的事件成功被Kyma的Lambda函数接收到了:

webp
webp

最后Jerry的微信号收到了这条在WordPress上首发,经Kyma中转的,关于《切尔诺贝利》观后感的博客:

webp

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

https://v.qq.com/x/page/e0905ksqlkb.html

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

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

https://github.com/i042416/Wordpress

更多阅读


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24475491/viewspace-2654261/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24475491/viewspace-2654261/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值