我尝试使用控制台将大型文件(1GB 或更大)上传到 Amazon Simple Storage Service (Amazon S3) 中。但是,上传持续失败,且我收到超时错误。如何解决此问题?
对于大型文件,Amazon S3 可能会将文件拆分为多个上传进程以最大程度地提高上传速度。Amazon S3 控制台可能会因会话超时而在大型文件上传期间超时。您不应使用 Amazon S3 控制台,而应尝试使用 AWS 命令行界面 (AWS CLI) 或 AWS 开发工具包上传文件。
**注意:**如果您使用 Amazon S3 控制台,上传的最大文件大小为 160GB。要上传大于 160GB 的文件,请使用 AWS CLI、AWS 开发工具包或 Amazon S3 REST API。
首先,安装并配置 AWS CLI。确保使用 AWS Identity and Access Management (IAM) 用户或角色的凭证,配置 AWS CLI。IAM 用户或角色必须具有访问 Amazon S3 的正确权限。
**重要提示:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新的 AWS CLI 版本。
要上传大型文件,请运行 cp 命令:
aws s3 cp cat.png s3://docexamplebucket
**注意:**文件必须位于您从中运行命令的目录。
当您运行高级 (aws s3) 命令,如 aws s3 cp 时,Amazon S3 会对大型对象自动执行多段上传。分段上传时,大型文件会拆分成多个部分并单独上传到 Amazon S3 中。上传所有部分后,Amazon S3 将各部分合并为一个文件。多段上传可能会加快上传速度并降低大型文件发生故障的几率。
有关多段上传的更多信息,请参阅如何使用 AWS CLI 将文件多段上传至 Amazon S3?
如需以可编程的方法上传大型文件,请使用 AWS 开发工具包,例如适用于 Java 的 AWS 开发工具包。有关示例操作,请参阅使用适用于 Java 的 AWS 开发工具包上传对象。
**注意:**有关开发和管理应用程序的 AWS 开发工具包和编程工具包的完整列表,请参阅在 AWS 上进行构建的工具。
结合使用 Amazon S3 与 AWS CLI