我尝试使用 Amazon S3 控制台上传大型文件。为什么上传失败?

上次更新时间:2020 年 1 月 14 日

我尝试使用控制台将大型文件(1 GB 或更大)上传到 Amazon Simple Storage Service (Amazon S3) 中。但是,上传持续失败,且我可能会收到超时错误。如何解决此问题?

解决方法

对于大型文件,Amazon S3 可以将文件分成多个进行上传,以最大限度提高上传速度。Amazon S3 控制台可能会因会话超时而在大型文件上传期间超时。

尝试使用 AWS 命令行界面 (AWS CLI) 或 AWS 开发工具包上传文件,而不是使用 Amazon S3 控制台。

AWS CLI

首先,安装配置 AWS CLI。务必使用拥有至 Amazon S3 的正确权限的 AWS Identity and Access Management (IAM) 用户或角色的凭证来配置 AWS CLI。

然后,上传大型文件,运行类似以下内容的命令:

aws s3 cp cat.png s3://awsexamplebucket

注意:在本示例中,文件必须位于您运行命令所在的相同目录中。

当您运行高级 (aws s3) 命令,如 aws s3 cp 时,Amazon S3 在对象很大时自动执行多段上传。分段上传时,大型文件会拆分成多个部分并单独上传到 Amazon S3 中。上传所有部分后,Amazon S3 将各部分合并为一个文件。多段上传可能会加快上传速度并降低大型文件发生故障的几率。

有关使用高级 (aws s3) 命令或低级 (aws s3api) 命令进行多段上传的更多信息,请参阅如何使用 AWS CLI 将文件多段上传至 Amazon S3?

AWS 开发工具包

有关上传大型文件的可编程方法,请考虑使用 AWS 开发工具包,如适用于 Java 的 AWS 开发工具包。有关示例操作,请参阅使用适用于 Java 的 AWS 开发工具包上传对象

注意:有关开发和管理应用程序的 AWS 开发工具包和编程工具包的完整列表,请参阅在 AWS 上进行构建的工具


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?