跳到主要内容
孤云

腾讯云 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

怎么知道成了

  • 「测试连接并保存」通过,说明这对密钥能读到这个桶;孤云只列你填的这个桶的根目录,不会改动桶里的东西。
  • 之后这条存储会出现在孤云的存储列表里,可以打开看桶里的文件。
  • 连接报错时,到常见错误对照排查。

回到孤云,点「测试连接并保存」。