在兼容亞馬遜S3的第三方應用中使用COS的通用配置

本文分享自微信公眾號 – 騰訊雲存儲

Amazon Simple Storage Service(Amazon S3,下文簡稱 S3)是 AWS 最早推出的雲服務之一,經過多年的發展,S3 協議在對象存儲行業事實上已經成為標準。騰訊雲對象存儲 COS(下文簡稱 COS)提供了兼容 S3 的實現方案,因此您可以在大部分兼容 S3 應用中直接使用 COS 服務。本文將重點介紹如何將此類應用配置為使用 COS 服務。

一、準備工作

1、確認應用是否可以使用 COS 服務

  • 如果您在應用的說明中看到類似S3 Compatible字樣,那麼大多數情況可以使用 COS 服務。如果您在實際使用過程中發現應用的某些功能無法正常使用,您可以向我們 提交工單 進行諮詢,在提交工單時,請說明您是從該文檔中看到的指引,並提供相關應用的名稱和截圖等信息,以便我們可以更快的幫您解決問題。
  • 如果您的應用只說明支持Amazon S3,這表明該應用可以使用 S3 服務,但能否使用 COS 服務,還需要在相關的配置中進一步嘗試,本文也會在後續的配置說明中做進一步的說明。

2、準備 COS 服務

步驟1:註冊騰訊雲賬號並完成實名認證,開通 COS 服務。

步驟2:準備 APPID 和訪問密鑰

在訪問管理控制台的 API 密鑰管理 頁面中獲取並記錄 APPIDSecretIdSecretKey

步驟3:創建存儲桶

部分應用內置創建存儲桶的過程,如果您希望由應用去創建存儲桶,您可以忽略此步驟。

  1. 對象存儲控制台 左側導航欄中單擊【存儲桶列表】,進入存儲桶管理頁。
  2. 單擊【創建存儲桶】,輸入存儲桶信息。
    • 名稱:存儲桶名稱,如 examplebucket。
    • 所屬地域:存儲桶存放地域,選擇與您最近的一個地區,例如我在 「深圳」,地域可以選擇 「廣州」。
    • 訪問權限:存儲桶訪問權限,此處我們選擇「私有讀寫」。

3. 單擊【創建存儲桶】,輸入存儲桶信息。

二、在應用中配置 COS 服務

1. 基本配置

大部分應用在配置使用的存儲服務時,都有類似的配置項,下面列舉這些配置項的常見名稱及相關說明:

配置項的常見名稱

相關說明

提供商/服務提供商/存儲服務提供商/Service Provider/Storage Provider/Provider 等

這裡主要是選擇應用應使用哪種存儲,可能存在以下幾種情況:如果該選項中有類似 S3 兼容存儲/S3 Compatible等字樣的選項,那麼優先使用這個選項。如果只有 amazon web services/AWS/Amazon S3 等字樣,那麼先使用這個選項,但是在後面的配置中需留意我們的進一步說明。如果沒有類似選項,但是在應用的說明中有提到支持 S3 服務或 S3 兼容服務,那麼您可以繼續後面的配置,但同樣需要留意我們的進一步說明。如果是其他情況,很抱歉,該應用可能不能使用 COS 服務。

服務端點/服務地址/服務 URL/Endpoint/Custom Endpoint/Server URL 等

這裡用於填寫 S3 兼容服務的服務地址,在使用 COS 服務時,這裡填寫 COS 的服務地址,形式為:cos.<Region>.myqcloud.com或https://cos.<Region>.myqcloud.com。是否需要填寫https://,根據具體的應用有所不同,您可以自行嘗試。其中<Region>代表 COS 的可用地域。在應用中,您只能在服務地址中指定的地域創建或選擇存儲桶。例如您的存儲桶在廣州地域,那麼服務地址應當配置為cos.ap-guangzhou.myqcloud.com,如果您配置成其他地域,那麼在應用中您無法找到廣州地域下的存儲桶。如果應用的服務提供商中只能選擇Amazon S3,並且服務端點是可以配置的,那麼您可以將服務端點修改為前述的cos.<Region>.myqcloud.com或https://cos.<Region>.myqcloud.com。如果服務端點是不可配置的或沒有服務端點配置項,那麼您的應用不能使用 COS 服務。

Access Key/Access Key ID 等

這裡填寫 步驟2 中記錄的 SecretId。

Secret Key/Secret/Secret Access Key 等

這裡填寫 步驟2 中記錄的 SecretKey。

地域/Region 等

選擇默認、自動、Auto 或 Automatic。

存儲桶/Bucket 等

選擇或輸入現有的存儲桶名稱,格式為<BucketName-APPID>,例如examplebucket-1250000000,其中 BucketName 為 步驟3 中創建存儲桶時填寫的存儲桶名稱,APPID 為 步驟2 中記錄的 APPID。如上文所描述,這裡的存儲桶將限定在服務地址所指定的地域中,其他地域的存儲桶將不會被列出或無法正常使用。如果您需要創建新的存儲桶,那麼新創建的存儲桶名字也需要符合前面所講的<BucketName-APPID> 格式,否則就無法正常創建存儲桶。

2. 其他項與高級配置說明

部分應用除了上述基本配置外,還有一些其他項與高級配置,下面將提供部分 COS 的功能說明,以便您更好的在應用中使用 COS 服務。

  • 服務端口與協議 COS 服務支持 HTTP 協議和 HTTPS 協議,均使用協議默認的80和443端口,基於安全考慮,我們建議您優先通過 HTTPS 協議使用 COS 服務。
  • Path-Style 與 Virtual Hosted-Style COS 同時支持兩種使用風格。
  • AWS V2 簽名與 AWS V4 簽名 COS 同時支持兩種簽名格式。

三、結語

COS 不保證與 S3 的完全兼容,如果您在應用中使用 COS 服務時遇到任何問題,歡迎向我們提交工單諮詢,在提交工單時,請說明您是從該文檔中看到的指引,並提供相關應用的名稱和截圖等信息,以便我們可以更快的幫您解決問題。

歡迎加入對象存儲COS實踐交流QQ群:1053187478

1. QQ群定位:技術交流、開發者互助與生態合作。

2. 加入QQ群的好處:在COS使用過程中如有任何疑問或建議,可以與騰訊雲存儲官方及群中的開發者溝通交流。

3. 哪些人可以加入:如果您是COS用戶,或者對雲存儲技術感興趣,都歡迎加入我們。