国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用serverless實現(xiàn)從oss下載文件并壓縮

這篇具有很好參考價值的文章主要介紹了使用serverless實現(xiàn)從oss下載文件并壓縮。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

????????公司之前開發(fā)一個網(wǎng)盤系統(tǒng), 可以上傳文件, 打包壓縮下載文件, 但是在處理大文件的時候, 服務(wù)器遇到了性能問題, 主要是這個項目是單機部署.......(離譜),? 然后帶寬只有100M, 現(xiàn)在用戶比之前多很多, 然后所有人的壓縮下載請求都給到這一臺服務(wù)器了, 比如多個人下載的時候帶寬問題, 服務(wù)器內(nèi)存占用問題, 下載速度和沒開會員的百度云網(wǎng)盤有一拼, 用戶苦不堪言,

????????所以考慮到使用阿里的 serverless 函數(shù)計算, 把從OSS的下載和壓縮, 以及壓縮后的客戶端對文件下載, 這些壓力全給到 serverless

一.? 使用的阿里云 serverless 函數(shù)計算 FC?

阿里云登錄 - 歡迎登錄阿里云,安全穩(wěn)定的云計算服務(wù)平臺

????????使用之前我們需要開發(fā)一個傳統(tǒng)的 springboot 項目,? 代碼沒什么保密的東西, 都是抄的chatgpt, 項目地址 :? ?GitHub - canxiusi/zip-to-oos

????????拉下來就可以直接運行的那種, 需要在配置文件里補全你的OSS信息

?1. 之后我們把項目打成jar包, 并壓縮成zip

?2. 之后登錄阿里云的 serverless, 再服務(wù)列表點擊創(chuàng)建服務(wù)

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

3. 然后在自動彈出的頁面中點擊創(chuàng)建函數(shù)

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

4. 選擇第二個, 使用springboot項目, 的zip壓縮包上傳

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

5.? 這里一定要勾選 處理HTTP請求, 因為我們這是傳統(tǒng)的 springboot 項目, 手白了就是 controller 層要接收上游系統(tǒng)的請求

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

?6. 運行環(huán)境選擇 java8, 把項目的zip壓縮上傳上去, 啟動命令就是 java -jar, 注意帶上 jvm 的運行參數(shù)?

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

7. 高級配置這里直接把配置拉滿, 市區(qū)選擇北京/上海時間

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

8. 觸發(fā)器這里選擇支持的請求方式, 就是接口上 @PostMapping, @GetMapping 一類的, 簽名根據(jù)自己的需要配置

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

9. 在函數(shù)詳情頁面點擊測試函數(shù), 這里就是請求 controller 我們定義的接口

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

10. 在觸發(fā)器管理頁面, 我們可以看到函數(shù)的外網(wǎng)請求地址, 這樣我們就可以在其他項目調(diào)用接口了

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

11. 調(diào)用方系統(tǒng)請求serverless的部分代碼

?因為這里要壓縮的文件比較大, 所以在請求頭這里設(shè)置了異步請求

? ? ? ? 異步請求 serverless, 把OSS的文件路徑和調(diào)用方系統(tǒng)回調(diào)地址作為參數(shù)

????????后續(xù)就是等待 serverless 從OSS下載并壓縮文件后, 通過http請求, 把 zip 文件在 serverless 的臨時路徑返回給調(diào)用方系統(tǒng), 調(diào)用方系統(tǒng)進行入庫處理, (這里沒在內(nèi)存做壓縮, 因為文件過大會OOM)

? ? ? ? 調(diào)用方系統(tǒng)通過客戶端輪詢請求, 查詢臨時文件路徑存不存在, 在拿到臨時文件的路徑后, 再重定向到 serverless 直接下載文件

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

?????????下圖的 controller 其實就是 serverless 在處理完 zip 文件后的回調(diào)地址, 邏輯就是把 serverless 的 zip 文件的路徑入庫

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

? ?

?????????下圖的 downloadZipFile 就是前面的 serverless 的外網(wǎng)請求地址, 加上 serverless 部署的代碼的?controller 層, 根據(jù)文件路徑下載文件的接口路徑

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java

????????經(jīng)過測試, serverless 的請求處理速度還是很快的, 因為和OSS對接有專網(wǎng), (這個要注意 servereless 的地域要和 OSS 的地域一樣)

????????5個gb的零零散散的文件, 有很多文件路徑,??逐個請求OSS下載, 再把文件流寫入到磁盤臨時文件, 然后返回給調(diào)用方系統(tǒng)臨時文件的路徑, 大概花費了4分多, 注意這里只是返回了在 serverless 的壓縮包的臨時文件路徑, 后續(xù)要再次通過重定向到 serverless 的下載文件接口, 下載臨時文件

使用serverless實現(xiàn)從oss下載文件并壓縮,serverless,云原生,java文章來源地址http://www.zghlxwxcb.cn/news/detail-608586.html

到了這里,關(guān)于使用serverless實現(xiàn)從oss下載文件并壓縮的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 前端實現(xiàn)下載文件(包含壓縮包下載)方式匯總

    默認最簡單的下載方式是: window.open(后臺接口API路徑) ,但該方法弊端:因是新開窗口方式,前端展示上,每次會閃下。 此外,如果使用window.open(文件URL)方式: pdf、office文檔、psd:直接下載。 圖片、txt:新開窗口預(yù)覽,不會下載;且txt預(yù)覽,有時出現(xiàn)中文亂碼問題。 一、

    2024年02月10日
    瀏覽(19)
  • 阿里云OSS對象存儲使用臨時URL訪問,并對下載文件重命名

    阿里云OSS對象存儲使用臨時URL訪問,并對下載文件重命名

    如何使用臨時授權(quán)的url訪問云對象地址,又如何通過該URL下載自定義的文件名。 下面是兩個內(nèi)容點: 1.直接獲取臨時url,這個跟官方的差不多,基本上照搬即可。 2.獲取臨時url,并且可以對下載文件重命名。 java SDK版本 3.5.0 官方文檔 oss java sdk 舉例 直接使用臨時URL訪問,這里可

    2024年02月09日
    瀏覽(127)
  • Vue3 - 超詳細 “純前端“ 將阿里云 OSS 存儲文件刪除教程,支持單個 / 批量刪除各種圖片圖像、文檔、音視頻文件、壓縮包等文件(附完整示例運行源碼,保證新手小白 100% 輕松實現(xiàn)刪除功能)

    Vue3 - 超詳細 “純前端“ 將阿里云 OSS 存儲文件刪除教程,支持單個 / 批量刪除各種圖片圖像、文檔、音視頻文件、壓縮包等文件(附完整示例運行源碼,保證新手小白 100% 輕松實現(xiàn)刪除功能)

    如果您需要純前端將文件上傳到阿里云 OSS,請訪問:這篇文章。 本文站在新手的角度, 在 vue3 項目開發(fā)中,超詳細 “純前端(無需后端)” 刪除阿里云oss文件,支持單個刪除或批量刪除oss存儲上的各種圖片圖像、文檔、音視頻文件、壓縮包等文件, 你可以直接復(fù)制示例源

    2024年01月18日
    瀏覽(28)
  • Spring Boot實現(xiàn)對超大文件進行異步壓縮下載

    Spring Boot實現(xiàn)對超大文件進行異步壓縮下載

    ?在Web應(yīng)用中,文件下載功能是一個常見的需求,特別是當(dāng)你需要提供用戶下載各種類型的文件時。本文將演示如何使用Spring Boot框架來實現(xiàn)一個簡單而強大的文件下載功能。我們將創(chuàng)建一個RESTful API,通過該API,用戶可以下載問價為ZIP壓縮文件。 首先,確保你已經(jīng)創(chuàng)建了一個

    2024年02月07日
    瀏覽(25)
  • java 批量下載將多個文件(minio中存儲)壓縮成一個zip包

    java 批量下載將多個文件(minio中存儲)壓縮成一個zip包

    我的需求是將minio中存儲的文件按照查詢條件查詢出來統(tǒng)一壓成一個zip包然后下載下來。 思路:針對這個需求,其實可以有多個思路,不過也大同小異,一般都是后端返回流文件前端再處理下載,也有少數(shù)是壓縮成zip包之后直接給下載鏈接返回到前端,前端收到鏈接url直接

    2024年02月10日
    瀏覽(64)
  • 使用hutool工具,對多文件下載進行打包下載,這里使用的是zip壓縮算法。

    參考以下博主: Java實現(xiàn)文件下載zip包單文件等_java下載zip文件_liu.kai的博客-CSDN博客 先將需要壓縮的文件們打包在一塊生成一個臨時壓縮包 將這個臨時的壓縮包,以單文件下載的方式,給前端響應(yīng)過去 刪除臨時的壓縮包

    2024年02月04日
    瀏覽(28)
  • vue3利用 a 標(biāo)簽,文件流,JSZip 壓縮包,實現(xiàn)文件下載

    在實現(xiàn)文件的下載,采用 a 標(biāo)簽,會出現(xiàn)圖片,沒有進行下載,而是,在當(dāng)前頁面打開了圖片。 導(dǎo)致原因: ·a標(biāo)簽,有 download 屬性,可以實現(xiàn)下載 同源文件( ip 和 端口 相同),當(dāng)圖片不同源 時,點擊下載,會在當(dāng)前窗口直接打開圖片,而不是進入下載狀態(tài)。 1.1 沒有圖片

    2023年04月08日
    瀏覽(21)
  • 使用Java實現(xiàn)遠程文件下載到本地目錄

    今天開發(fā)時遇見了一個下載附件的需求,他的附件是存在一個網(wǎng)盤里查詢時只是給我返回了一個https的路徑,需要通過這個路徑把附件下載到本地的目錄里 這里我使用的是網(wǎng)上搜索的圖片路徑做了一下測試僅供參考 如正文介紹 使用Java實現(xiàn)遠程文件下載到本地目錄記錄就到此

    2024年02月12日
    瀏覽(20)
  • 完整教程:Java+Vue+Websocket實現(xiàn)OSS文件上傳進度條功能

    完整教程:Java+Vue+Websocket實現(xiàn)OSS文件上傳進度條功能

    文件上傳是Web應(yīng)用開發(fā)中常見的需求之一,而實時顯示文件上傳的進度條可以提升用戶體驗。本教程將介紹如何使用Java后端和Vue前端實現(xiàn)文件上傳進度條功能,借助阿里云的OSS服務(wù)進行文件上傳。 后端:Java、Spring Boot 、WebSocket Server 前端:Vue、WebSocket Client 安裝依賴 UploadF

    2024年02月05日
    瀏覽(52)
  • 使用hutool工具(ZipUtil)對多文件打包壓縮并通過瀏覽器下載

    使用hutool工具對多文件進行打包壓縮并下載 需求 工作中遇到需要將詳情頁面數(shù)據(jù)導(dǎo)出為word,同時詳情中有圖片和附件,由于附件沒法寫入到word中(可能是自己沒有找到對應(yīng)的解決辦法) , 故將需要導(dǎo)出的word文件,和附件一同打包成zip,進行下載 實現(xiàn) 共兩個步驟 1 . 使用hutool對多文

    2024年02月12日
    瀏覽(58)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包