AWS SDK for Ruby の Hello World チュートリアル - AWS SDK Ruby 用

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SDK for Ruby の Hello World チュートリアル

AWS SDK for Ruby を使用して Amazon S3 に挨拶してください。次の例では、すべての Amazon S3 バケットのリストを表示します。

コードを書き込む

次のコードをコピーして、新しいソースファイルに貼り付けます。ファイルを 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 for Ruby はモジュール形式に作られており、AWS サービス ごとに分かれています。gem をインストールすると、Ruby ソースファイルの先頭にある require ステートメントで、Amazon S3 サービス用の AWS SDK クラスとメソッドがインポートされます。利用可能な AWS サービス Gem の全リストについては、AWS SDK for Ruby README ファイルの「サポート対象サービス」の表を参照してください。

require 'aws-sdk-s3'

プログラムの実行

Ruby プログラムを実行するには、コマンドプロンプトを開きます。Ruby プログラムを実行する一般的なコマンド構文は次のとおりです。

ruby [source filename] [arguments...]

このサンプルコードでは引数を使用しません。このコードを実行するには、コマンドプロンプトで以下を入力します。

$ ruby hello-s3.rb

Windows ユーザー向けの注意事項

Windows の SSL 証明書で Ruby コードを実行すると、次のようなエラーが表示されまる場合があります。

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

この問題を修正するには、Ruby のソースファイルの最初の AWS 呼び出しの前のどこかに次の行を追加します。

Aws.use_bundled_cert!

Ruby プログラムで aws-sdk-s3 gem のみを使用している場合は、バンドルされた証明書を使用するために aws-sdk-core gem を追加する必要があります。

次のステップ

他の多くの Amazon S3 オペレーションをテストするには、「」のAWS「コード例リポジトリ」を確認してください GitHub。