标签:
https://www.aliyun.com/act/aliyun/ossdoc.html?spm=5176.2020520105.103.16.jWqRON
OSS提供一个接口,一个bucket中有多个Object,可以对Object进行图片的上传,访问,可以通过控制台进行设置图片样式,然后oss提供接口api,可以通过这个API进行图片的调用和访问
bucket = ‘image-demo‘
object = ‘example.jpg‘
query = ‘100w_100h.jpg‘
object = object + ‘@‘ + query
self.oss.get_object(bucket, object)
生成AK
在安全令牌快捷配置当中
其实是在这里的
http://oss-cn-hangzhou.aliyuncs.com
endpoint:Endpoint表示OSS对外服务的访问域名,<p>yuzhixingxikeji.oss-cn-shanghai.aliyuncs.com</p>
也就是这个玩意了
原来这次啊是EndPoint
import oss2
auth = oss2.Auth(‘id‘, ‘密码‘)
service = oss2.Service(auth, ‘Endpoint‘)
print([b.name for b in oss2.BucketIterator(service)])
创建完AccessKey之后报了这样的错误
oss2.exceptions.AccessDenied: {‘status‘: 403, ‘details‘: {‘HostId‘: ‘oss-cn-shanghai.aliyuncs.com‘, ‘Message‘: ‘AccessDenied‘, ‘Code‘: ‘AccessDenied‘, ‘RequestId‘: ‘5714DE70C50250A33EFB22A6}
原因是这个是子帐号访问,但是bucket的拥有者并没有给你开 访问的权限
所以
需要在创建AccessKey的见面进行权限设置,我把用户和群组都设为全部权限,之后就能够正常访问了
from itertools import islice
for b in islice(oss2.ObjectIterator(bucket), 10):
print(b.key)
这是原来的
bucket = oss2.Bucket(auth, ‘http://oss-cn-hangzhou.aliyuncs.com‘,‘yuzhixingxikeji‘)
这是现在的
bucket = oss2.Bucket(auth, ‘http://oss-cn-shanghai.aliyuncs.com‘,‘yuzhixingxikeji‘)
我竟然没有发现这个,原先的例子里面的EndPoint没有改过来,卧槽
oos图片Python引用
标签:
原文地址:http://www.cnblogs.com/wuqingzangyue/p/5770107.html