5分鐘搞定圖片鑑黃web應用!

函數工作流(FunctionGraph,FGS)是一項基於事件驅動的函數託管計算服務,託管函數具備以毫秒級彈性伸縮、免運維、高可靠的方式運行。通過函數工作流,開發者無需配置和管理服務器,只需關注業務邏輯,編寫函數代碼,以無服務器的方式構建應用,便能開發出一個彈性高可用的後端系統,並按實際運行消耗的資源計費。極大地提高了開發和運維效率,減小了運作成本。

本文我們將介紹如何通過雲函數服務快速構建一個無服務器的圖片鑑黃web應用,如下圖,該應用接收用戶上傳的圖片,並對圖片進行分析,判斷是否爲×××。

5分鐘搞定圖片鑑黃web應用!
試想,如果我們通過傳統的模式開發此應用,需要如何開發?

即使是基於現在的雲平臺,我們也仍需要購買雲服務器,關注其規格、鏡像、網絡等各指標的選型和運維,然後在開發過程中可能還需要考慮與其他雲服務的集成使用問題,使代碼中耦合大量非業務代碼,並且服務器等資源也並非是按需的,可能會造成大量多餘的費用。

現在我們可以通過雲函數服務來快速構建這個系統,並且完全無需關注服務器,且按需運行,如圖:
5分鐘搞定圖片鑑黃web應用!
創建函數,在函數中調用華爲雲內容檢測服務提供的圖片鑑黃接口,實現圖片鑑黃功能,併爲該函數配置一個APIG觸發器,對外提供圖片鑑黃的API,從而構建出一個完整的圖片鑑黃無服務系統。然後將web頁面的靜態資源部署在對象存儲服務(OBS)中,用戶可以直接從OBS訪問前端頁面。用戶上傳圖片時,頁面調用前面構建的圖片鑑黃API,他會自動觸發函數執行,而開發者編寫的函數只需實現接收到圖片之後如何處理圖片的邏輯(調用內容檢測服務服務)即可,最後將結果返回給前端頁面。至此,我們就構建了一個完整的無服務圖片鑑黃web應用。

現在,我們將介紹如何端到端地將此無服務應用構建出來,詳細教程可以參考:http://functiongraph-tutorial.obs-website.cn-north-1.myhwclouds.com/#/porn-image-analyse

後端系統搭建:
進入函數服務頁面的圖片鑑黃模板,該模板已經提供了本應用中函數的代碼,按照代碼註釋中的指示創建函數之後,就成功搭建了本應用的後端系統,爲函數所創建的APIG觸發器會提供一個調用該後端函數的HTTP(s) API,供外部系統(如前端頁面)調用。

前端頁面搭建:
前端的展示形式有很多,這裏我們提供了一份Demo供大家學習參考,可以通過上面的詳細教程將前端代碼包部署到OBS上,快速構建一個單頁Web應用(SPA)。然後調用上一步後端提供的接口,連通後端系統,完成整個無服務圖片鑑黃Web應用的構建。

總結:
通過基於函數工作流的無服務架構和傳統架構的對比,我們可以看到其具有如下優點:

  1. 無需關注任何服務器,只需關注核心業務邏輯;
  2. 函數運行隨業務量彈性伸縮,按需付費,執行才計費,低成本;
  3. 可以通過簡單的配置連通函數工作流和其它雲服務,甚至雲服務和雲服務,比如本例中只需創建一個APIG觸發器便可完成API網關和函數工作流的連接,然後在函數中調用內容檢測服務的鑑黃接口,那麼函數就像一個粘合劑一樣將兩個雲服務連接在一起。

    歡迎體驗!
    https://www.huaweicloud.com/product/functiongraph.html?utm_source= zjqd&utm_medium=mediafree&utm_campaign=functiongraph&utm_content=article-0727-2zjqd&utm_medium=mediafree&utm_campaign=functiongraph&utm_content=article-0727-2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章