Tutorial de Hello World para AWS SDK para Ruby - AWS SDKpara Ruby

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial de Hello World para AWS SDK para Ruby

Descubra Amazon S3 utilizando AWS SDK para Ruby. En el siguiente ejemplo se muestra una lista de sus buckets de Amazon S3.

Escriba el código

Copie y pegue el siguiente código en un nuevo archivo de origen. Nombre el archivo 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 SDK para Ruby está diseñado para ser modular y está separado por Servicio de AWS. Una vez instalada la gema, la instrucción de require que aparece en la parte superior del archivo fuente de Ruby importa las clases y los métodos del SDK de AWS para el servicio Amazon S3. Para obtener una lista completa de las gemas de los servicios de AWS disponibles, consulte la tabla Servicios compatibles del archivo README de AWS SDK para Ruby.

require 'aws-sdk-s3'

Ejecución del programa

Abra un comando para ejecutar su programa Ruby. La sintaxis de comando habitual para ejecutar un programa Ruby es:

ruby [source filename] [arguments...]

Este ejemplo de código no utiliza argumentos. Para ejecutar este código, introduzca el siguiente comando del sistema:

$ ruby hello-s3.rb

Nota para usuarios de Windows

Cuando utiliza certificados SSL en Windows y ejecuta el código Ruby, podría ver un error similar al siguiente.

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' ...

Para solucionar este problema, añada la siguiente línea a su archivo de código de Ruby, en algún lugar antes de la primera llamada a AWS.

Aws.use_bundled_cert!

Tenga en cuenta que si solo utiliza la gema aws-sdk-s3 en su programa de Ruby, también tendrá que añadir la gema aws-sdk-core para utilizar el certificado agrupado.

Siguientes pasos

Para probar muchas otras operaciones de Amazon S3, consulte el repositorio de ejemplos de AWS código en GitHub.