WordPress,SAP Kyma和微信三者的集成
我們來繼續(xù)學(xué)習(xí)如何在實戰(zhàn)中使用SAP Kyma.
Jerry在之前的文章里,分別介紹了如何本地搭建WordPress實例:
什么?在SAP中國研究院里還需要會PHP開發(fā)?
以及如何把這個本地搭建的WordPress實例上的某些事件,發(fā)布到SAP Kyma上:
第三方應(yīng)用如何在SAP Kyma上進(jìn)行服務(wù)注冊
本文繼續(xù)這個集成場景的介紹,并完成最后一步:在SAP Kyma上編寫Lambda函數(shù),以響應(yīng)從WordPress發(fā)送到Kyma的事件。響應(yīng)函數(shù)的邏輯,出于演示目的,Jerry簡單地選擇在Kyma上調(diào)用微信API,把WordPress上發(fā)表的博客內(nèi)容,直接轉(zhuǎn)發(fā)給某個硬編碼的微信用戶,即Jerry自己的微信。
在按照前兩篇文章的步驟做了之后,我們在SAP Kyma的服務(wù)目錄(Service Catalog)下能看到從本地WordPress導(dǎo)入的服務(wù)(包含暴露的事件和API),大家可以把這個服務(wù)目錄簡單類比成SAP云平臺的Service Market Place.
接下來,SAP Kyma上的擴(kuò)展開發(fā)人員,就可以基于這個服務(wù)開始工作了。
點擊Add once,創(chuàng)建一個新的WordPress服務(wù)實例:
然后創(chuàng)建一個新的Lambda函數(shù):
Lambda函數(shù)的實現(xiàn)類型選擇nodejs,
觸發(fā)方式選擇成event trigger-事件觸發(fā),具體的觸發(fā)事件選擇從WordPress導(dǎo)入的post.published, 即文章發(fā)布事件。
也就是說,當(dāng)WordPress里有新的博客發(fā)布時,WordPress會觸發(fā)post.published事件,增強(qiáng)后的WordPress插件會把這個事件,連同發(fā)布的博客內(nèi)容作為參數(shù)一起傳遞給Kyma,而Kyma會調(diào)用上述創(chuàng)建的監(jiān)聽在post.published事件上的Lambda函數(shù),后者實際上就是觀察者-發(fā)布者設(shè)計模式里的觀察者。
接下來在Lambda函數(shù)里的開發(fā)就是純粹的nodejs編程工作了,使用nodejs提供的axios庫,將WordPress傳遞給Kyma的博客內(nèi)容從事件參數(shù)event里解析出來,調(diào)用微信接口發(fā)送給指定的微信用戶。
Dependencies區(qū)域的作用,就相當(dāng)于nodejs項目的package.json, 用于定義nodejs代碼執(zhí)行所需的各種外部依賴。
最后一步,就是創(chuàng)建一個Service Binding,把Lambda函數(shù)同之前創(chuàng)建的WordPress服務(wù)實例綁定起來。
這個操作和SAP云平臺CloudFoundry環(huán)境里的服務(wù)配置做法是一致的,所以有過SAP Cloud Platform開發(fā)經(jīng)驗的程序員,對SAP Kyma上這些配置能夠很容易上手。
至此,所有的開發(fā)和配置工作都結(jié)束了。
最后來做個測試。Jerry最近看了Craig Mazin執(zhí)筆,Johan Renck執(zhí)導(dǎo),由HBO/Sky合拍的迷你劇《切爾諾貝利》,深感人類在核危機(jī)爆發(fā)后的渺小和無力。
在WordPress上發(fā)布一篇博客:
謊言的代價是什么?
并非是我們會把謊言誤認(rèn)為真相,
真正危險的是,
我們聽多了謊言,便不能分辨出真相
單步調(diào)試WordPress,發(fā)現(xiàn)發(fā)布博客的內(nèi)容被發(fā)送到了指向Kyma事件處理的這個url:
回到Kyma的Lambda界面,點擊Show Logs查看日志,能發(fā)現(xiàn)WordPress發(fā)布的事件成功被Kyma的Lambda函數(shù)接收到了:
最后Jerry的微信號收到了這條在WordPress上首發(fā),經(jīng)Kyma中轉(zhuǎn)的,關(guān)于《切爾諾貝利》觀后感的博客:
下面是這個集成效果的演示視頻:
可以持續(xù)關(guān)注本公眾號,獲得SAP Kyma的更多使用案例分享,感謝閱讀。
這個場景用的到增強(qiáng)的WordPress源代碼,以及WordPress的Kyma插件源代碼,可以從Jerry的github上獲得:
https://github.com/i042416/Wordpress
更多閱讀
- 站在巨人肩膀上的牛頓:Kubernetes和SAP Kyma
- 高射炮打蚊子,殺雞用絕世好劍:在SAP Kyma上運行UI5應(yīng)用
- 什么?在SAP中國研究院里還需要會PHP開發(fā)?
- 第三方應(yīng)用如何在SAP Kyma上進(jìn)行服務(wù)注冊
- 基于SAP Kyma的訂單編排增強(qiáng)介紹
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的WordPress,SAP Kyma和微信三者的集成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 空调除湿功能跟制冷一样吗(如何选择空调)
- 下一篇: cross component navi