Closed prinsss closed 6 years ago
{bucket}-{appid}.cos.{region}.myqcloud.com
相同地区的腾讯云内部业务使用该域名对 COS 资源进行访问时,免收流量费。
如果你要从 CDN 获取对象内容,建议手动创建临时链接 temporaryUrl
再 GET
唔,我这边的需求是在非腾讯云的机器上直接将 COS 作为存储后端使用的。因为需要灵活切换 Flysystem Adapter,所以不方便添加专门适配 COS 的代码……
虽然我也可以继承那个 Adapter 再自定义 ServiceProvider,不过可以的话还是希望能在库里直接提供这个功能啦(比如说添加个是否从 CDN 获取内容的配置项)。
1.1.7 已支持从 CDN 读取。更新至 1.1.7 并添加如下配置即可
'cosv5' => [
//...
'read_from_cdn' => env('COSV5_READ_FROM_CDN', true),
],
测试后正常工作,非常感谢!
@freyo 建议完善下配置的说明。比如 read_from_cdn 选项,看了这个 issue 才恍然大悟。
即使设置了
filesystems.disks.cosv5.cdn
,这个 CDN 域名也只有在getUrl
方法中使用过,而在获取 Object 内容时依然是从默认的域名http://cos.{region}.myqcloud.com/
获取的(不走 CDN 流量很贵)。https://github.com/freyo/flysystem-qcloud-cos-v5/blob/71d4f914ec6cdee619e5c150269028ad004e5dbc/src/Adapter.php#L311