使用函數計算打包下載 OSS 文件


簡介:打包下載 OSS 上存儲的多個文件是一個常見的需求,例如將 OSS 上的一個目錄打包下載。這樣可以節省網絡傳輸的數據,達到減少費用和下載時間的效果。使用函數計算可以很方便地實現這個需求。

需求

打包下載 OSS 上存儲的多個文件,例如將 OSS 上的一個目錄打包下載。這樣可以節省網絡傳輸的數據,達到減少費用和下載時間的效果。

方案

使用函數計算先把多個文件壓縮成一個 zip,存儲到 OSS 上面,返回 zip 文件的地址,客戶端下載此文件。一般的客戶端都支持跟隨 HTTP 302 跳轉地址,所以在完成壓縮后,返回一個 302 的地址,客戶端再跟隨這個地址下載壓縮后的文件包。

file

函數代碼下載: zip-oss-code.zip

實現細節

  1. 函數運行環境的磁盤空間是有限的,采用流式下載和上傳的方式,只在內存中緩存少量的數據;
  2. 為了加快速度,一邊生成 zip 文件時一邊上傳到 OSS;
  3. 上傳 zip 文件到 OSS 時,利用 OSS 分片上傳的特性,多線程並發上傳。
    file

實驗

實驗數據

file

實驗步驟

  • 在 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 )等雲計算生態核心技術的研發與落地工作,在業界標桿級的平台上,既賦能阿里巴巴全球經濟體,更服務全世界的開發者用戶。

  1. 以 Kubernetes 為核心,推動並打造下一代 "以應用為中心" 的基礎技術體系;在阿里經濟體場景中,研發和落地“以應用為中心”的基礎設施架構和基於 Open Application Model ( OAM )的下一代 NoOps 體系,讓 Kubernetes 與雲原生技術棧發揮出真正的價值和能量;

  1. 研發多環境復雜應用交付核心技術;結合阿里與生態中的核心業務場景,打造多環境復雜應用交付的業界標准與核心依賴(對標 Google Cloud Anthos 和 Microsoft Azure Arc );

  1. 雲原生應用平台核心產品及后端架構設計與開發工作;在生態核心技術與前沿架構的加持下,在世界級雲廠商的平台場景中,用技術打造持續的雲產品生命力與競爭力;

  1. 持續推動阿里經濟體應用平台架構演進,包括 Serverless 基礎設施、標准雲原生標准 PaaS 構建、新一代應用交付體系構建等核心技術工作。

技術要求:Go/Rust/Java/C++,Linux,分布式系統

簡歷提交

lei.zhang AT alibaba-inc.com

阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM