跳到主要內容
孤雲

騰訊雲 COS

大約 10 分鐘,不用花錢,就能在騰訊雲 COS 上給孤雲準備好一個桶和一對金鑰。

本文依繁體介面用詞;控制台若顯示簡體,按鈕名稱請按同義對照。

分步操作

  1. 第 1 步

    建立儲存桶

    • 先確認你在哪一邊:國際站 www.tencentcloud.com(主控台 console.intl.cloud.tencent.com)|中國站 cloud.tencent.com(主控台 console.cloud.tencent.com)。兩邊帳號不通用。
    • 騰訊雲主控台 →物件儲存 COS →「儲存桶列表」→「建立儲存桶」,填桶名、選一個靠近你的地域(例如 ap-guangzhou),存取權限選「私有讀寫」。
    • 桶名末尾會自動加上你的 APPID,形如 my-photos-1234567890:複製時連後綴一起複製,孤雲要的是這個完整桶名。
  2. 第 2 步

    建立子帳號與金鑰

    • 存取管理 CAM →「使用者」→「新建使用者」,存取方式只勾「程式化存取」,不要勾主控台登入。
    • 建立後複製這個子帳號的 SecretId 與 SecretKey:SecretKey 只顯示一次,現在就把兩個值存好;不要用主帳號金鑰。
  3. 第 3 步

    給這個子帳號掛權限

    • CAM →「策略」→「新建自訂策略」→「按策略語法建立」,把下面這段 JSON 貼進策略內容並儲存。
    • 回到「使用者」開啟這個子帳號,點「關聯策略」把剛才那條策略關聯上;也可以用下面那兩條預設策略。
  4. 第 4 步

    回孤雲填好並測試

    • 孤雲「新增儲存」→ 服務商選騰訊雲 COS,按下面那張表填桶名、APPID、端點與金鑰。
    • 點「測試連線並儲存」,通過後這條儲存就會出現在孤雲的儲存列表裡。

APPID 與端點:兩處最容易填錯

APPID 是你帳號的一串數字(範例 1234567890):在主控台「帳號資訊」裡看,或看任何既有桶的名字末尾。騰訊雲 COS 與 Cloudflare R2 各比別的服務商多填一格(APPID / Account ID)。把完整桶名填進桶名格也行。

端點要填服務端點 https://cos.<地域>.myqcloud.com,不帶桶名。主控台「概觀」裡那個帶桶名的 https://<桶名>.cos.<地域>.myqcloud.com 叫存取網域,是給瀏覽器用的,填進端點就會連不上。

子帳號要的權限:一段 CAM 自訂策略

把裡面的桶名、APPID 與地域換成你自己的(範例值都是虛構的):

json
{
  "version": "2.0",
  "statement": [
    { "effect": "allow", "action": ["cos:*"],
      "resource": ["qcs::cos:ap-guangzhou:uid/1234567890:your-bucket-name-1234567890/*"] }
  ]
}

這段策略故意不含刪桶權限;CAM 裡的權限名是操作(action)不是策略名,在策略列表裡搜不到,所以要按策略語法建立。

其他情況(用不到可以跳過)

主控台兩邊都有,按你在哪一邊選:國際站 https://www.tencentcloud.com/(主控台 https://console.intl.cloud.tencent.com/),中國站 https://cloud.tencent.com/(主控台 https://console.cloud.tencent.com/)。

  • 孤雲只存取你填的這一個桶(不列桶、不建桶),所以策略只需要桶級那一段。
  • 想要更小的權限:把桶級那一段的 cos:* 換成實際會用到的動作(讀取、上傳、列舉)。

2024-01-01 之後新建的桶

  • 預設網域不預覽:用 COS 預設網域存取時瀏覽器會直接下載,而不是預覽。
  • APK / IPA 不能用預設網域分發:請求這類檔案會回傳 DownloadForbidden。要分享這兩類檔案,得綁定自訂網域(中國大陸地域的桶還要給網域做 ICP 備案)。

抄下這幾個值

它們要填進孤雲「新增儲存」頁對應的格子(騰訊雲 COS 比別家多一格 APPID): 地點:在 App 裡選「北京 / 中國香港 / 廣州 / us-west-004 …」對應的那一項 —— 選好地點,地域與 HTTPS Endpoint 會自動填好。

抄下這個值填進孤雲的哪一格
桶名
主控台裡的完整桶名,含末尾的 -APPID 後綴,例如 my-photos-1234567890。
桶名稱
APPID
桶名末尾那串數字,例如 1234567890:見主控台「帳號資訊」,或任何既有桶的名字末尾。
APPID
端點
服務端點,形如 https://cos.ap-guangzhou.myqcloud.com,不帶桶名。
Endpoint
金鑰
剛才那個子帳號的 SecretId 與 SecretKey。
SecretId 與 SecretKey

怎麼知道成了

  • 「測試連線並儲存」通過,說明這對金鑰能讀到這個桶;孤雲只列你填的這個桶的根目錄,不會改動桶裡的東西。
  • 之後這條儲存就會出現在孤雲的儲存列表裡,可以開啟看桶裡的檔案。
  • 連線報錯時,到常見錯誤對照排查。

回到孤雲,點「測試連線並儲存」。