WordPress,SAP Kyma和微信三者的整合

注销發表於2019-08-22

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

Jerry在之前的文章裡,分別介紹瞭如何本地搭建WordPress例項:

什麼?在SAP中國研究院裡還需要會PHP開發?

以及如何把這個本地搭建的WordPress例項上的某些事件,釋出到SAP Kyma上:

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

本文繼續這個整合場景的介紹,並完成最後一步:在SAP Kyma上編寫Lambda函式,以響應從WordPress傳送到Kyma的事件。響應函式的邏輯,出於演示目的,Jerry簡單地選擇在Kyma上呼叫微信API,把WordPress上發表的部落格內容,直接轉發給某個硬編碼的微信使用者,即Jerry自己的微信。

WordPress,SAP Kyma和微信三者的整合

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

WordPress,SAP Kyma和微信三者的整合

接下來,SAP Kyma上的擴充套件開發人員,就可以基於這個服務開始工作了。

WordPress,SAP Kyma和微信三者的整合

點選Add once,建立一個新的WordPress服務例項:

WordPress,SAP Kyma和微信三者的整合
WordPress,SAP Kyma和微信三者的整合

然後建立一個新的Lambda函式:

WordPress,SAP Kyma和微信三者的整合

Lambda函式的實現型別選擇nodejs,

WordPress,SAP Kyma和微信三者的整合

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

WordPress,SAP Kyma和微信三者的整合

也就是說,當WordPress裡有新的部落格釋出時,WordPress會觸發post.published事件,增強後的WordPress外掛會把這個事件,連同釋出的部落格內容作為引數一起傳遞給Kyma,而Kyma會呼叫上述建立的監聽在post.published事件上的Lambda函式,後者實際上就是觀察者-釋出者設計模式裡的觀察者。

接下來在Lambda函式里的開發就是純粹的nodejs程式設計工作了,使用nodejs提供的axios庫,將WordPress傳遞給Kyma的部落格內容從事件引數event裡解析出來,呼叫微信介面傳送給指定的微信使用者。

Dependencies區域的作用,就相當於nodejs專案的package.json, 用於定義nodejs程式碼執行所需的各種外部依賴。

WordPress,SAP Kyma和微信三者的整合

最後一步,就是建立一個Service Binding,把Lambda函式同之前建立的WordPress服務例項繫結起來。

WordPress,SAP Kyma和微信三者的整合

這個操作和SAP雲平臺CloudFoundry環境裡的服務配置做法是一致的,所以有過SAP Cloud Platform開發經驗的程式設計師,對SAP Kyma上這些配置能夠很容易上手。

至此,所有的開發和配置工作都結束了。

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

WordPress,SAP Kyma和微信三者的整合

在WordPress上釋出一篇部落格:

謊言的代價是什麼?

並非是我們會把謊言誤認為真相,

真正危險的是,

我們聽多了謊言,便不能分辨出真相

WordPress,SAP Kyma和微信三者的整合

單步除錯WordPress,發現釋出部落格的內容被髮送到了指向Kyma事件處理的這個url:

WordPress,SAP Kyma和微信三者的整合
WordPress,SAP Kyma和微信三者的整合

回到Kyma的Lambda介面,點選Show Logs檢視日誌,能發現WordPress釋出的事件成功被Kyma的Lambda函式接收到了:

WordPress,SAP Kyma和微信三者的整合
WordPress,SAP Kyma和微信三者的整合

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

WordPress,SAP Kyma和微信三者的整合

下面是這個整合效果的演示影片:

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

可以持續關注本公眾號,獲得SAP Kyma的更多使用案例分享,感謝閱讀。

這個場景用的到增強的WordPress原始碼,以及WordPress的Kyma外掛原始碼,可以從Jerry的github上獲得:

更多閱讀


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2654261/,如需轉載,請註明出處,否則將追究法律責任。

相關文章