腾讯云的COS对象存储真是坑,这么坑开发者对你有什么好处?
之前接入支付宝和微信的支付,有感于支付宝的便捷和微信支付的无数暗坑;对象存储之前使用的是阿里云(阿里叫OSS),也是一次成功;但是这次接入微信的(腾讯叫COS),由于腾讯云的各种迷惑人的设置,导致浪费了诸多时间。在此记录一下。
- 坑1:BucketName
- 坑2:所属地域
ERROR_CMD_BUCKET_NOTEXIST
如果按图中的存储桶名称 hehe-123456
进行设置,就会报出这个异常
明明Buket存在,为什么会报出这个异常?
但是其实,真正的 bucketName 名字仅仅只是:hehe
,在程序配置中使用的也应该仅仅只是hehe
,而123456
其实是APPID。至于存储桶列表里为什么名称展示为hehe-123456
,可能是腾讯用来迷惑开发者的吧,这样能增加用户停留时常。
参考 https://cloud.tencent.com/developer/ask/22868
You do not have permission to get URL ‘*’ from this server
如果按图中的所属地域 ap-guangzhou
进行区域设置,就会报出这个异常,其实广州的区域配置应该是gz
。
解决方案:
初始化 cos时:
正确填写region参数,在 COS 控制台 => bucket列表 => 基础配置=>所属地区
如 广州 (gz), region='gz'
参考 https://github.com/imu-hupeng/cos-python3-sdk
(完)