J'utilise la bibliothèque ruby aws/s3 pour récupérer des fichiers d'Amazon S3. Je diffuse un objet et l'écris dans le fichier conformément à la documentation (avec débogage tous les 100 morceaux pour confirmer la progression)Ruby: Le streaming d'un gros objet AWS S3 se bloque
Cela fonctionne pour les petits fichiers, mais gèle aléatoirement le téléchargement de gros fichiers (150MB) sur VPS Ubuntu. Récupérer les mêmes fichiers (150 Mo) de mon mac sur une connexion beaucoup plus lente fonctionne très bien. Lorsqu'il se bloque, aucune erreur n'est levée et la dernière ligne de sortie de débogage est le 'Morceau terminé.' Je l'ai vu écrire entre 100 et 10 000 morceaux avant de geler.
Quelqu'un a-t-il découvert cela ou a-t-il des idées sur la cause?
Merci
Le code qui se bloque:
i=1
open(local_file, 'w') do |f|
AWS::S3::S3Object.value(key, @s3_bucket) do |chunk|
puts("Writing chunk #{i}")
f.write chunk.read_body
puts("Finished chunk #{i}")
i=i+1
end
end