

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

# AWS SDK for Ruby を使用したシンプルなアプリケーションの作成
<a name="hello"></a>

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

## コードの記述
<a name="aws-ruby-sdk-hello-world-code"></a>

次のコードをコピーして、新しいソースファイルに貼り付けます。ファイルを `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 ファイルの[サポート対象サービス](https://github.com/aws/aws-sdk-ruby/#supported-services)表を参照してください。

```
require 'aws-sdk-s3'
```

## プログラムの実行
<a name="aws-ruby-sdk-hello-world-running"></a>

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

```
ruby [source filename] [arguments...]
```

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

```
$ ruby hello-s3.rb
```

## Windows ユーザー向けの注意事項
<a name="aws-ruby-sdk-quick-start-windows"></a>

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

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

```
Aws.use_bundled_cert!
```

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

## 次の手順
<a name="aws-ruby-sdk-hello-world-next-steps"></a>

その他の多くの Amazon S3 オペレーションをテストするには、GitHub で [AWS のコードサンプルリポジトリ](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/ruby/example_code//s3)を確認してください。