Chargement d'une image dans S3 en utilisant aws-sdk v2
Je m'éclate à travailler avec la documentation aws-sdk, tous les liens que je suis semblent périmés et inutilisables.
je cherche un exemple simple d'implémentation de téléchargement d'un fichier image dans un seau S3 de Ruby.
- disons que le chemin de l'image est
screenshots/image.png
- et je veux le télécharger pour le seau
my_bucket
- AWS creds vivre dans mon ENV
tout conseil est très apprécié.
1 réponses
Voici comment vous pouvez télécharger un fichier à partir du disque vers le seau nommé et la clé:
s3 = Aws::S3::Resource.new
s3.bucket('my_bucket').object('key').upload_file('screenshots/image.png')
C'est la méthode la plus simple. Vous devez remplacer "clé" par la clé avec laquelle vous voulez qu'elle soit stockée dans Amazon S3. Ceci chargera automatiquement de gros fichiers pour vous en utilisant l'API de téléchargement multipart et rejettera les pièces défectueuses.
si vous préférez Télécharger en utilisant toujours PUT object, vous pouvez appeler #put
ou utiliser un Aws::S3::Client
:
# using put
s3 = Aws::S3::Resource.new
File.open('screenshots/image.png', 'rb') do |file|
s3.bucket('my_bucket').object('key').put(body:file)
end
# using a client
s3 = Aws::S3::Client.new
File.open('screenshots/image.png', 'rb') do |file|
s3.put_object(bucket:'my_bucket', key:'key', body:file)
end
aussi, la documentation de référence de L'API pour la v2 SDK est ici: http://docs.aws.amazon.com/sdkforruby/api/index.html