如何向AWS S3存储桶上传380GB大文件?PowerShell命令无响应
大文件上传AWS S3的PowerShell解决方案
问题根源
Write-S3Object 默认不启用分片上传,当文件大小超过AWS S3单文件直接上传的5GB上限时,进程会无报错终止,这就是你380GB文件上传失败的核心原因。
解决步骤
1. 启用分片上传
修改原命令,添加 -MultipartUpload 参数,同时建议指定合适的分片大小(比如64MB或128MB,减少请求次数提升上传效率):
Write-S3Object -BucketName "TestBucket" -Key "destdFileNameInBucket.tar" -File "localFile.tar" -ServerSideEncryption AES256 -MultipartUpload -PartSize 67108864 # 64MB,单位为字节
- 分片上传会将大文件拆分为多个独立部分上传,最后由S3自动合并为完整对象,完全支持5TB以内的文件上传。
- 若不指定
-PartSize,会使用默认的10MB分片,但大文件建议调大该值,平衡上传速度和重试成本。
2. 断点续传(应对上传中断)
如果上传中途因网络或其他原因中断,可添加 -Resume 参数继续未完成的上传,无需重新上传已完成的分片:
Write-S3Object -BucketName "TestBucket" -Key "destdFileNameInBucket.tar" -File "localFile.tar" -ServerSideEncryption AES256 -MultipartUpload -PartSize 67108864 -Resume
3. 确保AWS PowerShell模块为最新版本
旧版本模块可能存在超大文件分片上传的兼容性问题,执行以下命令更新模块:
Update-Module -Name AWSPowerShell
关键注意事项
- 分片大小需满足:最小5MB,最大5GB,总文件大小无上限(符合S3 5TB单对象限制)。
- 上传期间尽量保持网络稳定,若频繁中断,可适当调大分片大小,同时配合断点续传功能。
内容的提问来源于stack exchange,提问作者Veronica
相关产品推荐
相关产品推荐

