场景实践:使用函数计算打包下载OSS文件
體驗簡介
本場景將提供一臺配置了Centos 7.7版本的ECS實例(云服務器)和對象存儲OSS實例。
通過本教程的操作,您可以基于已有的環境使用函數計算將對象存儲OSS上多個文件(Object)打包下載到本地。
體驗此場景后,可以掌握的知識有:
OSS基本操作
了解到函數計算基本概念
背景知識
本場景主要涉及以下云產品和服務:
對象存儲OSS:阿里云對象存儲OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存儲服務。其數據設計持久性不低于99.9999999999%(12個9),服務可用性(或業務連續性)不低于99.995%。OSS具有與平臺無關的RESTful API接口,您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。您可以使用阿里云提供的API、SDK接口或者OSS遷移工具輕松地將海量數據移入或移出阿里云OSS。數據存儲到阿里云OSS以后,您可以選擇標準存儲(Standard)作為移動應用、大型網站、圖片分享或熱點音視頻的主要存儲方式,也可以選擇成本更低、存儲期限更長的低頻訪問存儲(Infrequent Access)、歸檔存儲(Archive)、冷歸檔存儲(Cold Archive)作為不經常訪問數據的存儲方式。當您從OSS中批量下載Object時可能會遇到批量下載不方便、小文件較多時下載緩慢等問題。通過調用函數計算,可以將OSS上的Object先打包,之后將壓縮包下載到本地后再解壓,實現快速下載批量文件的目的。使用函數計算打包下載OSS文件的流程如下圖所示。
函數計算
函數計算是事件驅動的全托管計算服務。使用函數計算,您無需采購與管理服務器等基礎設施,只需編寫并上傳代碼。函數計算為您準備好計算資源,彈性地、可靠地運行任務,并提供日志查詢、性能監控和報警等功能。
開通函數計算服務
在使用函數計算前,您需要開通函數計算服務。
說明: 本場景中提供的阿里云子賬號無函數計算服務操作權限,所以請使用您自己的阿里云賬號操作。您無需擔心扣費問題,因為函數計算服務有一定的免費額度,請參見計費方式。
\1. 使用您自己的阿里云賬號登錄阿里云控制臺,然后進入函數計算產品詳情頁。
\2. 單擊**【免費開通】**。
\3. 閱讀《函數計算服務協議》勾選同意服務協議,最后單擊**【立即開通】**。
\4. 單擊**【管理控制臺】**進入函數計算控制臺。
安裝Funcraft
? \1. 執行如下命令,安裝支持ZIP的工具。
yum install -y unzip zip\2. 執行如下命令,下載Funcraft工具。
curl -o fun-linux.zip http://funcruft-release.oss-accelerate.aliyuncs.com/fun/fun-v3.6.23-linux.zip\3. 執行如下命令,解壓Funcraft工具安裝包。
unzip fun-linux.zip\4. 執行如下命令,將Funcraft工具的路徑增添到環境變量PATH目錄中。
mv fun-v3.6.23-linux /usr/local/bin/fun\5. 執行如下命令,驗證Funcraft工具是否安裝成功。
fun --version返回如下結果,表示Funcraft工具安裝成功。
\6. 執行如下命令,進行Funcraft工具本地配置。
fun config請參考以下信息輸入您的Aliyun Account ID、Aliyun Access Key ID和Aliyun Access Key Secret密鑰等信息。
Aliyun Account ID:請在賬號安全設置頁面查看您的賬號ID。
Aliyun Access Key ID和Aliyun Access Key Secret:請在安全信息管理頁面查看您賬號的AccessKey ID和AccessKey Secret。
如果您使用的是阿里云主賬號,請在安全信息管理頁面的安全提示彈框中單擊繼續使用AccessKey。
如果您使用的是阿里云RAM子用戶,需要確保您的子用戶擁有函數計算管理權限AliyunFCFullAccess,請參見為RAM用戶授權。
如下圖所示為您的AccessKey ID和AccessKey Secret。如果您的賬號未使用過AccessKey,請單擊右上角創建AccessKey。
Default region name:請選擇開通的函數計算服務所在地域。
正確設置可參考下圖。
部署函數
\1. 執行如下命令,下載函數代碼。
wget https://codeload.github.com/awesome-fc/zip-oss/zip/master\2. 執行如下命令,解壓已下載的函數代碼。
unzip master\3. 執行如下命令,進入新產生的文件夾。
cd zip-oss-master\4. 執行如下命令,修改event.json文件,填寫需要壓縮的文件所在位置。
vim event.json進入Vim編輯器后,按下i鍵進入編輯模式,修改以下內容,添加完成后按下Esc鍵退出編輯模式,最后輸入:wq后按下Enter鍵,保存并退出Vim編輯器。
{"region": "cn-beijing","bucket": "test-unzip2","source-dir": "test/" }參數說明:
- region:填寫OSS所在地域的regionid,可在第一小節中的云產品資源下拉列表中查看OSS所在地域的regionid,例如杭州填寫cn-hangzhou。
- bucket:填寫OSS的Bucket名稱,可在第一小節中的云產品資源下拉列表中查看Bucket名稱。
- source-dir:填寫需要解壓的文件目錄,例如根目錄填寫./。建議將需要壓縮的文件統一放在一個文件目錄下。
添加后的文件內容如下所示。
\5. 執行如下命令,部署函數,并記錄url值。
fun deploy命令返回結果如下,輸入Y繼續。
命令返回結果如下,復制url值。
執行如下命令,觸發函數。
curl -v -L -o /localpath -d @./event.json urlvalue說明: 需要將urlvalue替換成上一步中復制的url值。
\6. 雙擊虛擬桌面FireFox ESR瀏覽器,在RAM登錄頁面使用云產品資源下拉列表中的子賬號用戶和子賬號密碼登錄。
\7. 在瀏覽器中訪問OSS控制臺(https://oss.console.aliyun.com/bucket)。
\8. 在OSS控制臺頁面,單擊Bucket列表。
\9. 在Bucket列表頁面,單擊Bucket名稱。
\10. 在文件管理頁面,您可以看到剛剛上傳的壓縮文件。
總結
以上是生活随笔為你收集整理的场景实践:使用函数计算打包下载OSS文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAD输出为PDF至A4大小
- 下一篇: BitTorrent应用