开发者社区> 问答> 正文

OSS分片上传无响应

image.png 分片上传时请求超时,连接不成功,但是使用普通上传是可以上传成功的,会是什么原因呢?

展开
收起
hmbdgdwvxd4ec 2021-02-20 18:21:46 1685 0
1 条回答
写回答
取消 提交回答
  • OSSBrower "no space left on"

    1

    分析:

    有明显报错信息的先 Google 一下,看看是操作系统错误还是 OSSBrower 抛出,经过鉴定错误是 Linux 系统底层返回,说明当时系统的 OSSBrower 所在的目录磁盘满了,开源的错误到处可以看到,自行解决即可。

    案例二: 分片上传成功,下载 404

    分析:

    如果分片上传成功,肯定不会出现访问 404 的情况,检查下

    上传成功后 OSS 有没有返回 requestID ,如果没有返回证明是没有上传成功的。 客户端的代码是否判断分片上传成功就去下载文件是有问题的,分片上传成功不代表文件都上传完成。 分片上传应该在 complete 合并分片之前进行判断 httpstatu==200 & requestID != None 才是真正的上传成功。 如果文件已经合并完成,并且返回 requestID,但还是下载 404 ,需要升级阿里云进行处理。 案例三: IO error

    背景: 客户端上传 OSS 过程中出现 “uploadFile:fail Write error: ssl=0x76d62a40: I/O error during system call, Software caused connection abort ”

    分析:

    这个是标准的 android 系统的报错,不是 oss 的问题,有很多开源的错误都有描述,建议参考下 参考1 参考2

    案例四: 背景:Could not resolve host

    2018/10/24 14:03:47 hlg_matting_PreF (pid=15693)(error): parseUrl2Image.hpp(186), read_element: image_url_service connect fail: Could not resolve host: da.oss-cn-hangzhou-internal.aliyuncs.com, url: https://da.oss-cn-hangzhou-internal.aliyuncs.com/mattings/0/images/20181024-135354-f5ee.jpg

    上传 OSS 文件解析失败,DNS 无法解析于域名,此问题需要排查下 DNS 是否工作正常,或者主机上的 DNS 服务是否正常。

    案例五: 背景:python SDK 分片上传失败

    用户通过 python SDK 的分片上传函数上传到 OSS 失败,碎片管理中出现很对碎片。

    1

    先确认是直接传到 OSS,还是通过其他 proxy 传输到 OSS (类似 CDN),如果经过 CDN 再上传到 OSS 需要在 OSS 上配置跨域的头,Access-Control-Allow-Origin 、Access-Control-Allow-Mehtod 、Access-Control-Allow-header,并且将 Etag 暴露出去。 客户端上传失败是因为网络超时,还是捕获到异常上传失败,需要详细看下捕获到的 SDK 异常信息分析,如果是网络超时导致上传失败,建议使用断点续传来替代普通上传。断点续传支持分片,并发,已经弱网的兼容。 清理掉上传失败的碎片文件重新上传。 当以上操作都解决不了你的问题时,需要提供以下信息升级阿里云便于快速定位:

    提供 SDK 异常时返回的 requestID,这个属性是 response header 中携带的记录了完整的 OSS 请求过程。 客户端部署 tcpdump ,然后重新运行代码上传,保存抓包

    2021-02-22 00:02:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载