我正在尝试使用雾从 s3 下载一个大(> 500mb)文件。我想检查进度,但似乎多次下载文件。
我在用着:
connction = Fog::Storage.new(
provider: 'AWS',
aws_access_key_id: key_id,
aws_secret_access_key: secret_key,
region: 'eu-west-1',
)
connection.get_object(bucket, obj_key) do |chunk, remaining_bytes, total_bytes|
file.write(chunk)
p "Writing file: #{remaining_bytes} / #{total_bytes} remaining"
end
整个过程似乎重复了很多次,几乎下载了所有数据,但是当剩下 1 兆字节时,它又开始重新下载!
大约 4 次循环后,它会引发错误:
negative argument (ArgumentError) (Excon::Errors::SocketError)
任何建议都非常感谢!
更新: 宝石版本:
excon (0.20.1)
fog (1.10.1)
builder
excon (~> 0.20)
formatador (~> 0.2.0)
mime-types
multi_json (~> 1.0)
net-scp (~> 1.1)
net-ssh (>= 2.1.3)
nokogiri (~> 1.5.0)
ruby-hmac