騰訊雲 COS
大約 10 分鐘,不用花錢,就能在騰訊雲 COS 上給孤雲準備好一個桶和一對金鑰。
本文依繁體介面用詞;控制台若顯示簡體,按鈕名稱請按同義對照。
分步操作
-
第 1 步
建立儲存桶
- 先確認你在哪一邊:國際站 www.tencentcloud.com(主控台
console.intl.cloud.tencent.com)|中國站 cloud.tencent.com(主控台console.cloud.tencent.com)。兩邊帳號不通用。 - 騰訊雲主控台 →物件儲存 COS →「儲存桶列表」→「建立儲存桶」,填桶名、選一個靠近你的地域(例如
ap-guangzhou),存取權限選「私有讀寫」。 - 桶名末尾會自動加上你的 APPID,形如
my-photos-1234567890:複製時連後綴一起複製,孤雲要的是這個完整桶名。
- 先確認你在哪一邊:國際站 www.tencentcloud.com(主控台
-
第 2 步
建立子帳號與金鑰
- 存取管理 CAM →「使用者」→「新建使用者」,存取方式只勾「程式化存取」,不要勾主控台登入。
- 建立後複製這個子帳號的 SecretId 與 SecretKey:SecretKey 只顯示一次,現在就把兩個值存好;不要用主帳號金鑰。
-
第 3 步
給這個子帳號掛權限
- CAM →「策略」→「新建自訂策略」→「按策略語法建立」,把下面這段 JSON 貼進策略內容並儲存。
- 回到「使用者」開啟這個子帳號,點「關聯策略」把剛才那條策略關聯上;也可以用下面那兩條預設策略。
-
第 4 步
回孤雲填好並測試
- 孤雲「新增儲存」→ 服務商選騰訊雲 COS,按下面那張表填桶名、APPID、端點與金鑰。
- 點「測試連線並儲存」,通過後這條儲存就會出現在孤雲的儲存列表裡。
APPID 與端點:兩處最容易填錯
APPID 是你帳號的一串數字(範例 1234567890):在主控台「帳號資訊」裡看,或看任何既有桶的名字末尾。騰訊雲 COS 與 Cloudflare R2 各比別的服務商多填一格(APPID / Account ID)。把完整桶名填進桶名格也行。
端點要填服務端點 https://cos.<地域>.myqcloud.com,不帶桶名。主控台「概觀」裡那個帶桶名的 https://<桶名>.cos.<地域>.myqcloud.com 叫存取網域,是給瀏覽器用的,填進端點就會連不上。
子帳號要的權限:一段 CAM 自訂策略
把裡面的桶名、APPID 與地域換成你自己的(範例值都是虛構的):
{
"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 |
怎麼知道成了
- 「測試連線並儲存」通過,說明這對金鑰能讀到這個桶;孤雲只列你填的這個桶的根目錄,不會改動桶裡的東西。
- 之後這條儲存就會出現在孤雲的儲存列表裡,可以開啟看桶裡的檔案。
- 連線報錯時,到常見錯誤對照排查。
回到孤雲,點「測試連線並儲存」。