天天看點

S3檔案存儲協定的Spring Boot實作

在網際網路發展的今天,近乎所有的雲廠商都提供「對象存儲服務」。一種海量、安全、低成本、高可靠的雲存儲服務,适合存放任意類型的檔案。容量和處理能力彈性擴充,多種存儲類型供選擇,全面優化存儲成本。

當我們在使用對應雲廠商産品的時候,隻需要引入對應嘗試提供的 SDK ,根據其開發文檔實作即可。但是當我們接入的雲廠商較多(或者能夠保證接口水準遷移時),我們要根據目标廠商接口「破壞性修改」。

如下提供了幾家廠商接口 SDK 上傳執行個體:

Amazon 是最早提供對象存儲服務 的廠商,制定檔案存儲相關的業内标準,這意味着隻需要實作 S3 協定即可接入相容此協定的檔案存儲廠商和中間件。當然 S3 協定不僅僅是技術實作要求标準,對于可用性等都有具體的要求。

名稱

位址

阿裡雲

https://www.aliyun.com

華為雲

https://www.huaweicloud.com

騰訊雲

https://cloud.tencent.com

七牛雲

https://www.qiniu.com

金山雲

https://www.ksyun.com

引入依賴。引入此依賴,無需在引入雲廠商 SDK

配置檔案存儲

操作

建立 minio

配置 minio 參數

使用 OssTemplate 上傳即可

和雲廠商的最大差別為 「path-style-access」 參數。以阿裡雲為例,要求請求接口全部為 「桶名稱.區域.aliyuncs.com」,而自建檔案存儲為 「http://域名/桶名稱」。通過以上參數加以差別