【學習筆記】FunctionGraph實現圖片壓縮和水印添加
一、圖片壓縮和水印添加概述
1.圖片為什么要壓縮與水印?
1)信息化時代,大量的多媒體信息保存在互聯網上
2)移動互聯網+浪潮推動下,每個個體都成為大量的數據制造者
3)如何更好的傳輸、存儲和辨識這些數據?
2.圖片壓縮的使用場景
1)個人、家庭和企業圖片歸檔時壓縮,減少磁盤占用
2)在線上傳圖片大小受限、郵件附件大小受限等限制圖片大小場景
3)互聯網產品中大量涉及圖片,使用壓縮提升訪問速度、降低圖片傳輸和存儲成本
3.水印的使用場景
1)水印≈蓋章,標識版權,防止剽竊
2)水印≈logo,提高辨識度,引起關注
3)水印≈附加信息,可自定義添加制作地點、時間、用途等相關信息
4.如何實現圖片壓縮?
1)使用圖片壓縮軟件:簡單易用,復雜功能需收費
2)網頁在線圖片壓縮:簡單易用,功能單一、不適合批量壓縮
3)自設圖片壓縮代碼:需要編程基礎,可自定義功能
4)使用云服務批量壓縮:簡單易用,適用于批量處理和歸檔,可結合自設代碼
5.如何實現水印添加?
1)專業圖像處理軟件:需一定摳圖技能,可實現復雜的水印添加功能
2)網頁在線添加水印:簡單易用,功能單一、不適合批量添加
3)自設水印添加代碼:需要編程基礎,可自定義功能
4)使用云服務批量添加水印:簡單易用,適用于批量處理和歸檔,可結合自設代碼
二、函數工作流簡介
1.函數工作流概述
函數工作流(FunctionGraph)是華為云提供的一款無服務器(Serverless)計算服務,包含函數和工作流兩個功能模塊,分別實現函數計算和函數編排的功能。
2.函數工作流與圖片壓縮和水印添加
1)函數工作流≈圖像處理所使用的的“軟件/程序”?
2)函數工作流=圖像處理使用的“軟件”+“計算資源”
=(圖像處理函數代碼+代碼運行環境)+(CPU+內存)
3.FunctionGraph函數運行時
1)函數支持Node.js、java、python、Go、C#運行時
2)支持在線編輯代碼、OBS文件引入、上傳ZIP包、上傳JAR包等
4.FunctionGraph工作流
5.函數工作流實現圖片處理的優勢
1)無服務器管理
2)高彈性
3)可視化管理
4)按需計費
6.函數工作流的使用限制
三、函數工作流相關華為云服務簡介
1.對象存儲服務概述
1)OBS是一個機遇對象的海量存儲服務,為客戶提供海量、安全、高可靠、低成本的數據存儲能力。
2)OBS由桶(Bucket)和對象(Object)構成,并提供模擬文件夾的方式方便文件管理。
3)OBS訪問方式包括:OBS Browser、管理控制臺、API&SDK、obscmd
2.對象存儲服務和圖片壓縮和水印添加
1)對象存儲服務=圖片存儲空間+觸發圖片處理函數運行的事件源
=(桶Bucket)+(函數觸發器)
3.OBS在圖片壓縮和水印添加中的工作流程
1)源桶:有關于上傳源圖片,并充當OBS觸發器
2)目標桶:作為函數環境變量,函數輸出圖片的存放位置
4.對象存儲服務實現圖片處理的優勢
1)海量存儲空間
2)高安全
3)低成本
4)高可靠
5.統一身份認證服務概述(IAM)
1)IAM提供身份認證和權限管理功能,可以管理用戶賬號,并可以控制這些用戶對您名下資源的操作權限
2)IAM可以委托新人的華為云賬號,使其根據權限安全便捷地訪問您的公有云資源。
3)IAM委托=授權FunctionGraph中的圖片處理函數對OBS桶內圖片進行處理
4)華為云上不同云服務默認無法相互調用,需創建IAM云服務委托后才能互相調用
四、利用函數工作流實現圖片壓縮和水印添加實踐
1.整體流程介紹
2.常見問題:
1)能否使用一個OBS桶?
不能。如果使用一個桶,會無限執行函數
2)OBS桶名是否可以自定義?
可以,但是必須保證桶名唯一性
3)OBS桶是否可以在不同AZ?
默認不可以,但是部分區域內已經可以實現跨AZ訪問
3.華為云FunctionGraph使用流程
4.華為云FunctionGraph的產品優勢
1)無服務器管理
自動運行用戶代碼,用戶無需配置或管理服務器,專注于業務創新。
2)高彈性
根據請求的并發數量自動調度資源運行函數,實現透明、準確和實時的伸縮,應付業務峰值的訪問。
用戶無需關心峰值和空閑時段的資源需要申請多少資源,系統根據請求的數量自動擴容/縮容。自動負載均衡將請求分發到函數運行實例。
3)事件觸發
通過事件觸發機制,集成多種云服務(SMN,OBS,DIS,DMS…),滿足不同場景需求,獲得高效的開發體驗。
與云日志服務、云監控服務對接,無需任何配置,即可查詢函數日志和監控告警信息,快速排查故障。
4)高可用
函數運行實例出現異常,系統會啟動新的實例處理后續的請求,故障函數實例占用資源將會回收使用。
5)按需計費
根據代碼的調用次數、運行時長和節點轉換次數計費,代碼未運行時不產生費用。時長計量粒度為100毫秒。
函數工作流 FunctionGraph 對象存儲服務 OBS
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。