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