Hola, tutorial 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.

Hola, tutorial AWS SDK para Ruby

Da la bienvenida a Amazon S3 con AWS SDK for 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 SDKpara Ruby está diseñado para ser modular y está separado por Servicio de AWS. Una vez instalada la gema, la require instrucción que aparece en la parte superior del archivo fuente de Ruby importa las AWS SDK clases y los métodos del servicio Amazon S3. Para obtener una lista completa de las gemas de AWS servicio disponibles, consulte la tabla de servicios compatibles del README archivo AWS SDK de 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

Al usar SSL certificados en Windows y ejecutar el código de Ruby, es posible que aparezca 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ñade la siguiente línea a tu archivo fuente de Ruby, en algún lugar antes de la primera AWS llamada.

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.