假定咱們正在運行某個應用程序,此應用程序須要用戶在應用程序中提交大量圖片文件,那麼對於系統管理員來講手動審覈這些圖片是很消耗時間的,而且對於圖片的審覈也許並非即時的。爲了解決這一問題,這篇文章將向你們演示如何使用Azure Function和Cognitive Services來對上傳到應用程序的圖片進行自動化審覈。服務器
再正式開始今天的實驗以前咱們先帶你們瞭解一下本次實驗全部到的一些Azure功能:機器學習
l Azure Function:Azure Functions是一種無服務器計算服務,使您能夠按需運行代碼,而無需顯式配置或管理基礎結構。使用Azure Functions運行腳本或代碼片斷以響應各類事件ide
l Cognitive Services:Azure Cognitive Services是API,SDK和服務,可幫助開發人員構建智能應用程序,而無需直接的AI或數據科學技能或知識。Azure認知服務擴展了微軟不斷髮展的機器學習API產品組合,使開發人員可以輕鬆添加認知功能 - 例如情感和視頻檢測; 面部,語言和視覺識別; 和語言和語言理解 - 進入他們的應用程序學習
l Content Moderator:Azure Content Moderator API是一種認知服務,可檢查文本,圖像和視頻內容,查找可能具備***性,風險或其餘不良內容的材料。找到此類材料後,該服務會對內容應用適當的標籤(標記)。而後,您的應用能夠處理已標記的內容,以符合法規或維護用戶的預期環境。測試
l Azure Blob Storage:Azure Blob存儲是Microsoft針對雲的對象存儲解決方案。Blob存儲優化用於存儲大量非結構化數據。非結構化數據是不遵循特定數據模型或定義的數據,例如文本或二進制數據。優化
下面是咱們今天實驗的基本拓撲:3d
建立Content Moderator視頻
點擊「新建」—「Content Moderator」—「建立」:對象
輸入相關信息,點擊建立:blog
建立完成,以下圖所示,咱們點擊「Show access keys並將此值記錄下來」:
建立Function App和Storage
建立Function App
點擊「新建」—「計算」—「Function App」:
輸入以下參數,點擊建立:
建立成功,以下圖所示:
點擊「新建Function」:
在此選擇「自定義Function」:
選擇「Blob trigger」—「C#」:
修更名稱和路徑,點擊建立:
建立成功,以下圖所示:
點擊「集成」—「+新建輸出」:
選擇「Azure Blob存儲」:
將路徑修改成「Container1/{name}」,點擊保存:
配置Storage
建立container1和container2,以下圖所示:
配置Function + Cognitive Services實現圖片自動審覈:
打開咱們以前建立的Function,點擊「ImageAnalysis」:
將以前建立Content Moderator時所保存的Key替換到以下位置:
點擊保存:
測試功能
測試「無效「圖片:
上傳「無效「圖片到Container1,以下圖所示:
圖片上傳完成,咱們能夠看到以下Log:
上傳「有效「圖片
上傳「有效「圖片到Container1:
上傳成功能夠看到以下Log:
同時咱們的圖片會被添加水印並存儲再Container2:
添加水印的圖片以下圖所示: