Tutoriel Hello AWS SDK pour Ruby - AWS SDKpour Ruby

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'requireinstruction 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 du README fichier AWS SDK for Ruby.

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 sur GitHub.