当下载大文件时,如果网络不稳定或者程序异常退出,会导致下载失败,甚至重试多次仍无法完成下载。此时您可以通过SDK或者ossutil下载大文件。
通过SDK下载
您可以通过SDK的方式实现断点续传下载,从而下载大文件。断点续传下载过程中有以下注意事项:
本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
本文以从环境变量读取访问凭证为例。如何配置访问凭证,请参见配置访问凭证。
本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见初始化。
要断点续传下载,您必须有
oss:GetObject
权限。具体操作,请参见为RAM用户授权自定义的权限策略。使用断点续传下载时,文件下载的进度信息会记录在Checkpoint文件中,如果下载过程中某一分片下载失败,再次下载时会从Checkpoint文件中记录的点继续下载,从而达到断点续传的效果。下载完成后,Checkpoint文件会被删除。
SDK会将下载的状态信息记录在Checkpoint文件中,所以要确保程序对Checkpoint文件有写权限。
请勿修改Checkpoint文件中携带的校验信息。如果Checkpoint文件损坏,则会重新下载所有分片。
如果下载过程中文件的ETag发生变化、Part丢失或被修改,则重新下载文件。
关于断点续传下载SDK的具体代码,请参见使用阿里云SDK。
通过ossutil下载
您可以通过ossutil工具的cp命令将OSS的文件(Object)下载到本地。
更多信息,请参见cp(下载文件)。
文档内容是否对您有帮助?