Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Tutoriel Hello AWS SDK pour Ruby
Dites bonjour à Amazon S3 en utilisant le AWS SDK for Ruby. L'exemple suivant affiche la liste de vos compartiments Amazon S3.
Ecriture du code
Copiez et collez le code suivant dans un nouveau fichier source. Nommez le fichier hello-s3.rb
.
require 'aws-sdk-s3' # Wraps Amazon S3 resource actions. class BucketListWrapper attr_reader :s3_resource # @param s3_resource [Aws::S3::Resource] An Amazon S3 resource. def initialize(s3_resource) @s3_resource = s3_resource end # Lists buckets for the current account. # # @param count [Integer] The maximum number of buckets to list. def list_buckets(count) puts 'Found these buckets:' @s3_resource.buckets.each do |bucket| puts "\t#{bucket.name}" count -= 1 break if count.zero? end true rescue Aws::Errors::ServiceError => e puts "Couldn't list buckets. Here's why: #{e.message}" false end end # Example usage: def run_demo wrapper = BucketListWrapper.new(Aws::S3::Resource.new) wrapper.list_buckets(25) end run_demo if $PROGRAM_NAME == __FILE__
AWS SDKfor Ruby est conçu pour être modulaire et est séparé par Service AWS. Une fois la gemme installée, l'require
instruction en haut de votre fichier source Ruby importe les AWS SDK classes et les méthodes du service Amazon S3. Pour une liste complète des joyaux de AWS
service disponibles, consultez le tableau des services pris en charge
require 'aws-sdk-s3'
Exécution du programme
Ouvrez une invite de commande pour exécuter votre programme Ruby. La syntaxe de commande typique pour exécuter un programme Ruby est la suivante :
ruby
[source filename] [arguments...]
Cet exemple de code n'utilise aucun argument. Pour exécuter ce code, entrez ce qui suit dans l'invite de commande :
$
ruby hello-s3.rb
Remarque pour les utilisateurs Windows
Lorsque vous utilisez SSL des certificats sous Windows et que vous exécutez votre code Ruby, une erreur similaire à la suivante peut s'afficher.
C:\Ruby>ruby buckets.rb C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Seahorse::Client::NetworkingError) from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `block in connect' from C:/Ruby200-x64/lib/ruby/2.0.0/timeout.rb:66:in `timeout' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:921:in `connect' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:862:in `do_start' from C:/Ruby200-x64/lib/ruby/2.0.0/net/http.rb:857:in `start' ...
Pour résoudre ce problème, ajoutez la ligne suivante à votre fichier source Ruby, quelque part avant votre premier AWS appel.
Aws.use_bundled_cert!
Si vous utilisez uniquement la aws-sdk-s3
gemme dans votre programme Ruby et que vous souhaitez utiliser le certificat fourni, vous devez également ajouter la aws-sdk-core
gemme.
Étapes suivantes
Pour tester de nombreuses autres opérations Amazon S3, consultez le référentiel d'exemples de AWS code