Я пытаюсь загрузить большой (> 500mb) файл с s3 с туманом. Я хотел бы проверить прогресс, но, похоже, он загружает файл несколько раз.S3 Прогресс чтения с Fog
Я использую:
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
И это, кажется, делает весь процесс несколько раз, почти скачивание всех данных, но, когда есть один мегабайт остался, он начинает загружать все заново!
Примерно через 4 петли он выдает ошибку:
negative argument (ArgumentError) (Excon::Errors::SocketError)
Любой совет высоко оценили!
UPDATE: Gem версии:
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
Я делаю это сейчас согласно советам в https://github.com/fog/fog/issues/1736#issuecomment-15962298 –
Добавлены варианты Gem. –
Мой выход находится в https://github.com/fog/fog/issues/1736#issuecomment-15973230, но это не делает меня более ясными :( –