Olá, tutorial AWS SDK para o Ruby - AWS SDKpara Ruby

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Olá, tutorial AWS SDK para o Ruby

Diga olá ao Amazon S3 usando o AWS SDK for Ruby. O exemplo a seguir exibe uma lista dos buckets do Amazon S3.

Escreva o código

Copie e cole o código a seguir em um novo arquivo fonte. Nomeie o arquivo 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 foi projetado para ser modular e é separado por AWS service (Serviço da AWS). Depois que a gem é instalada, a require instrução na parte superior do seu arquivo fonte Ruby importa as AWS SDK classes e os métodos para o serviço Amazon S3. Para obter uma lista completa dos AWS service gems disponíveis, consulte a tabela de serviços suportados do arquivo AWS SDK for RubyREADME.

require 'aws-sdk-s3'

Execução do programa

Abra um prompt de comando para executar seu programa Ruby. A sintaxe de comando típica para executar um programa Ruby é:

ruby [source filename] [arguments...]

Esse código de amostra não usa argumentos. Para executar esse código, insira o seguinte no prompt de comando:

$ ruby hello-s3.rb

Observação para usuários do Windows

Quando você usa SSL certificados no Windows e executa seu código Ruby, você pode ver um erro semelhante ao seguinte.

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 corrigir esse problema, adicione a seguinte linha ao arquivo fonte do Ruby, em algum lugar antes da primeira AWS chamada.

Aws.use_bundled_cert!

Se você estiver usando somente o gem aws-sdk-s3 em seu programa Ruby e se deseja usar o certificado incluso, também precisará adicionar o gem aws-sdk-core.

Próximas etapas

Para testar muitas outras operações do Amazon S3, confira o Repositório de exemplos de AWS código em. GitHub