今天接口的OSS模块出现异常:

 Exception: {'status': 404, 'x-oss-request-id': '5C50209BAE509FEEA16D753E', 'details': {'Code': 'NoSuchKey', 'Message': 'The specified key does not exist.', 'RequestId': '5C50209BAE509FEEA16D753E', 'HostId': 'dsideal-yy.oss-cn-qingdao.aliyuncs.com', 'Key': 'xxxx.jpg'}}

根据官方解释,出现上面的消息是因为

问题原因:
Object命名不符合规范。
触发生命周期管理规则,Object被删除。
Object被其他具有合法权限的用户通过OSS控制台、OSS客户端或API等方式删除了。
目标Bucket与其他Bucket存在跨区域复制关系,其他Bucket中执行的删除操作被同步到目标Bucket中,此时Object也会被删除。
解决方案:
确保请求的Object命名符合规范。Object名称不能以正斜线(/)或者反斜线(\)开头,需使用UTF-8编码,且长度必须在1~1023字符之间。
检查OSS设置的生命周期规则,确认请求的Object未触发删除规则。详情请参见设置生命周期规则。
确认其他具有合法权限的用户未删除请求的Object。
检查Bucket配置的跨区域复制规则,确认请求的Object未被删除。详情请参见设置跨区域复制。

但我的代码里除了用来上传的put_object函数以及用来判断是否存在的object_exists函数外并没有其他函数在用,我猜测可能是put_object或object_exists函数的问题

该问题至今尚未解决

参考:

  1. https://www.bbsmax.com/A/amd0LWlkdg/
  2. https://help.aliyun.com/document_detail/185804.html?spm=5176.11065259.1996646101.searchclickresult.1a26279cL5ydYz#:~:text=63%E5%AD%97%E7%AC%A6%E4%B9%8B%E9%97%B4%E3%80%82-,NoSuchKey,-%E9%94%99%E8%AF%AF%E6%B6%88%E6%81%AF%EF%BC%9AThe
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐