华为obs python sdk 下载图片报错:NoSuchKey

本文介绍了在使用Python SDK访问华为OBS(Object Storage Service)时遇到的问题及其解决方法。当尝试通过SDK下载图片时,由于URL编码问题导致‘指定的键不存在’的错误。解决方法是将图片名称进行URL解码,然后用解码后的名称调用SDK的getObject方法,从而成功获取图片。此外,还提供了一个基于Python 2.7的简单HTTP服务器示例,用于处理图片请求。

背景:

以前在使用华为obs 进行图片下载(也就是浏览器查看图片),是直接使用地址访问obs。
比如:
endpoint: obs-example-domain.cn
图片名称: qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg

访问地址:

http://obs-example-domain.cn/qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg

wget 以上地址就可以下载图片。

但是使用python sdk 访问就会报错:


AK = 'PLAU4DD8EYVXSA****UL'
SK = 'MdNZCKgSwt9Qgq6ZXtaF7wtZOd8********xEiv'
server = "http://obs-example-domain.cn"
bucketName = 'qcx'
obsClient = ObsClient(access_key_id=AK, secret_access_key=SK, server=server)
name = "qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg"
resp = obsClient.getObject(bucketName, name, loadStreamInMemory=True)
print(resp.body)

输出: The specified key does not exist

以上程序中: name = qcx%2F1%2F20210804%2F2db3c4bb-0c2c-4c3c-84e0-7e131c1e8db61628047890560.jpg

解决方法:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值