需求
打包下載下傳 OSS 上存儲的多個檔案,例如将 OSS 上的一個目錄打包下載下傳。這樣可以節省網絡傳輸的資料,達到減少費用和下載下傳時間的效果。
方案
使用函數計算先把多個檔案壓縮成一個 zip,存儲到 OSS 上面,傳回 zip 檔案的位址,用戶端下載下傳此檔案。一般的用戶端都支援跟随 HTTP 302 跳轉位址,是以在完成壓縮後,傳回一個 302 的位址,用戶端再跟随這個位址下載下傳壓縮後的檔案包。

函數代碼下載下傳:
zip-oss-code.zip。
實作細節
- 函數運作環境的磁盤空間是有限的,采用流式下載下傳和上傳的方式,隻在記憶體中緩存少量的資料;
- 為了加快速度,一邊生成 zip 檔案時一邊上傳到 OSS;
- 上傳 zip 檔案到 OSS 時,利用 OSS 分片上傳的特性,多線程并發上傳。
實驗
實驗資料
實驗步驟
- 在 OSS 上準備要打包的檔案
- 把檔案放在 OSS 上面一個目錄下面
- 部署函數
- 使用
部署函數fun deploy
- 使用
- 觸發函數(通過 HTTP trigger 位址)
- 使用 curl 指令直接調用函數
cat <<EOF > event.json
{
"region": "cn-shanghai",
"bucket": "fc-test-tianlong-wu",
"source-dir": "files/"
}
EOF
curl -v -L -o /tmp/my.zip -d @./event.json https://123456789.cn-beijing.fc.aliyuncs.com/2016-08-15/proxy/zip-service/zip-oss/
打開
/tmp/my.zip
,就是
files/
目錄下所有檔案的壓縮包。
函數計算是一個按量付費的計算服務,每月都有大量的免費額度可以使用,歡迎
免費試用招聘
TL;DR
阿裡雲 - 雲原生應用平台 - 基礎軟體中台團隊(原容器平台基礎軟體團隊)誠邀 Kubernetes/容器/ Serverless/應用傳遞技術領域專家( P6-P8 )加盟。
工作年限:建議 P6-7 三年起,P8 五年起,具體看實際能力。
工作地點:
- 國内:北京,杭州,深圳;
- 海外:舊金山灣區、西雅圖
履歷立刻回複,2~3 周出結果。節後入職。
工作内容
基礎産品事業部是阿裡雲智能事業群的核心研發部門,負責計算、存儲、網絡、安全、中間件、系統軟體等研發。而雲原生應用平台基礎軟體終态團隊緻力于打造穩定、标準、先進的雲原生應用系統平台,推動行業面向雲原生技術更新與革命。
在這裡,既有 CNCF TOC 和 SIG 聯席主席,也有 etcd 創始人、K8s Operator 創始人與 Kubernetes 核心維護成員組成的、國内最頂尖的 Kubernetes 技術團隊。
在這裡,你将同來自全球的雲原生技術領域專家們(如 Helm 項目的創始人、Istio 項目的創始人)密切合作,在獨一無二的場景與規模中從事 Kubernetes、Service Mesh、Serverless、Open Application Model ( OAM )等雲計算生态核心技術的研發與落地工作,在業界标杆級的平台上,既賦能阿裡巴巴全球經濟體,更服務全世界的開發者使用者。
- 以 Kubernetes 為核心,推動并打造下一代 "以應用為中心" 的基礎技術體系;在阿裡經濟體場景中,研發和落地“以應用為中心”的基礎設施架構和基于 Open Application Model ( OAM )的下一代 NoOps 體系,讓 Kubernetes 與雲原生技術棧發揮出真正的價值和能量;
- 研發多環境複雜應用傳遞核心技術;結合阿裡與生态中的核心業務場景,打造多環境複雜應用傳遞的業界标準與核心依賴(對标 Google Cloud Anthos 和 Microsoft Azure Arc );
- 雲原生應用平台核心産品及後端架構設計與開發工作;在生态核心技術與前沿架構的加持下,在世界級雲廠商的平台場景中,用技術打造持續的雲産品生命力與競争力;
- 持續推動阿裡經濟體應用平台架構演進,包括 Serverless 基礎設施、标準雲原生标準 PaaS 建構、新一代應用傳遞體系建構等核心技術工作。
技術要求:Go/Rust/Java/C++,Linux,分布式系統
履歷送出
lei.zhang AT
alibaba-inc.com“ 阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”