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

咱們來繼續學習如何在實戰中使用SAP Kyma.html

Jerry在以前的文章裏,分別介紹瞭如何本地搭建WordPress實例: 什麼?在SAP中國研究院裏還須要會PHP開發?node

以及如何把這個本地搭建的WordPress實例上的某些事件,發佈到SAP Kyma上:ios

第三方應用如何在SAP Kyma上進行服務註冊git

本文繼續這個集成場景的介紹,並完成最後一步:在SAP Kyma上編寫Lambda函數,以響應從WordPress發送到Kyma的事件。響應函數的邏輯,出於演示目的,Jerry簡單地選擇在Kyma上調用微信API,把WordPress上發表的博客內容,直接轉發給某個硬編碼的微信用戶,即Jerry本身的微信。程序員

clipboard1

在按照前兩篇文章的步驟作了以後,咱們在SAP Kyma的服務目錄(Service Catalog)下能看到從本地WordPress導入的服務(包含暴露的事件和API),你們能夠把這個服務目錄簡單類比成SAP雲平臺的Service Market Place.github

clipboard2

接下來,SAP Kyma上的擴展開發人員,就能夠基於這個服務開始工做了。編程

clipboard3

點擊Add once,建立一個新的WordPress服務實例:json

clipboard4 clipboard5

而後建立一個新的Lambda函數:axios

clipboard6

Lambda函數的實現類型選擇nodejs,設計模式

clipboard7

觸發方式選擇成event trigger-事件觸發,具體的觸發事件選擇從WordPress導入的post.published, 即文章發佈事件。

clipboard8

也就是說,當WordPress裏有新的博客發佈時,WordPress會觸發post.published事件,加強後的WordPress插件會把這個事件,連同發佈的博客內容做爲參數一塊兒傳遞給Kyma,而Kyma會調用上述建立的監聽在post.published事件上的Lambda函數,後者實際上就是觀察者-發佈者設計模式裏的觀察者。

接下來在Lambda函數裏的開發就是純粹的nodejs編程工做了,使用nodejs提供的axios庫,將WordPress傳遞給Kyma的博客內容從事件參數event裏解析出來,調用微信接口發送給指定的微信用戶。

Dependencies區域的做用,就至關於nodejs項目的package.json, 用於定義nodejs代碼執行所需的各類外部依賴。

clipboard9

最後一步,就是建立一個Service Binding,把Lambda函數同以前建立的WordPress服務實例綁定起來。

clipboard10

這個操做和SAP雲平臺CloudFoundry環境裏的服務配置作法是一致的,因此有過SAP Cloud Platform開發經驗的程序員,對SAP Kyma上這些配置可以很容易上手。

至此,全部的開發和配置工做都結束了。

最後來作個測試。Jerry最近看了Craig Mazin執筆,Johan Renck執導,由HBO/Sky合拍的迷你劇《切爾諾貝利》,深感人類在覈危機爆發後的眇小和無力。

clipboard11

在WordPress上發佈一篇博客:

謊話的代價是什麼? 並不是是咱們會把謊話誤認爲真相, 真正危險的是, 咱們聽多了謊話,便不能分辨出真相

clipboard12

單步調試WordPress,發現發佈博客的內容被髮送到了指向Kyma事件處理的這個url:

clipboard13 clipboard14

回到Kyma的Lambda界面,點擊Show Logs查看日誌,能發現WordPress發佈的事件成功被Kyma的Lambda函數接收到了:

clipboard15 clipboard16

最後Jerry的微信號收到了這條在WordPress上首發,經Kyma中轉的,關於《切爾諾貝利》觀後感的博客:

clipboard17

下面是這個集成效果的演示視頻:

能夠持續關注本公衆號,得到SAP Kyma的更多使用案例分享,感謝閱讀。

這個場景用的到加強的WordPress源代碼,以及WordPress的Kyma插件源代碼,能夠從Jerry的github上得到:

https://github.com/i042416/Wordpress

更多閱讀

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙": 公衆號截圖

相關文章
相關標籤/搜索