AWS cli 在复制大文件时抛出错误
AWS cli throws error when copying large files
我正在尝试使用 aws cli 工具将对象从 s3 存储桶复制到另一个存储桶。
它适用于小对象,但在大文件桶上,一旦开始复制,我就会收到以下错误之一:
copy failed: s3://bucket/file.ogv to s3://bucket-tmp/file.ogv ('Connection aborted.', OSError(0, 'Error'))
或
copy failed: s3://bucket/file.ogv to s3://bucket-tmp/file.ogv An error occurred (NoSuchKey) when calling the UploadPartCopy operation: Unknown
如果我包含 --no-guess-mime-type 我会得到
fatal error: ('Connection aborted.', OSError(0, 'Error'))
我尝试了 --debug,但我真的不太了解调试输出,但我可以在日志中再次看到 OSError(0, 'Error')。
有人见过这样的东西吗?在另一个答案 (this one) 中,人们谈到了另一个工具 s3cmd,但我无法让它工作。
我正在尝试使用路径样式 url 和 https 端点访问企业服务器上的 ceph。
我的命令:
aws --endpoint-url https://myendpoint.url s3 cp s3://mybucket s3://mybucket-tmp --recursive
此外,当我尝试配置 s3cmd 时,我得到一个难看的 python 调试输出,中间有 OSError: [Errno 0] Error
。
我发现如果我使用 s3api 命令而不是 s3 命令,它就可以工作。工作指令格式:
aws --endpoint-url <my-endpoint-url> s3api copy-object --copy-source my-source-bucket/whatever/path/file.txt --key whatever/path/file.txt --bucket my-destination-bucket
一次只复制一个文件。您可以使用 s3 命令 ls 或 s3api 命令 list-objects
获取存储桶中的对象列表
我正在尝试使用 aws cli 工具将对象从 s3 存储桶复制到另一个存储桶。
它适用于小对象,但在大文件桶上,一旦开始复制,我就会收到以下错误之一:
copy failed: s3://bucket/file.ogv to s3://bucket-tmp/file.ogv ('Connection aborted.', OSError(0, 'Error'))
或
copy failed: s3://bucket/file.ogv to s3://bucket-tmp/file.ogv An error occurred (NoSuchKey) when calling the UploadPartCopy operation: Unknown
如果我包含 --no-guess-mime-type 我会得到
fatal error: ('Connection aborted.', OSError(0, 'Error'))
我尝试了 --debug,但我真的不太了解调试输出,但我可以在日志中再次看到 OSError(0, 'Error')。
有人见过这样的东西吗?在另一个答案 (this one) 中,人们谈到了另一个工具 s3cmd,但我无法让它工作。
我正在尝试使用路径样式 url 和 https 端点访问企业服务器上的 ceph。
我的命令:
aws --endpoint-url https://myendpoint.url s3 cp s3://mybucket s3://mybucket-tmp --recursive
此外,当我尝试配置 s3cmd 时,我得到一个难看的 python 调试输出,中间有 OSError: [Errno 0] Error
。
我发现如果我使用 s3api 命令而不是 s3 命令,它就可以工作。工作指令格式:
aws --endpoint-url <my-endpoint-url> s3api copy-object --copy-source my-source-bucket/whatever/path/file.txt --key whatever/path/file.txt --bucket my-destination-bucket
一次只复制一个文件。您可以使用 s3 命令 ls 或 s3api 命令 list-objects
获取存储桶中的对象列表