2012年8月28日火曜日

RubyからS3とSimpleDBを扱う

最近まじめにAWSを触る機会が増えてきたのでメモ
手元のRailsアプリに必要な記述をしてからRailsコンソールで動作確認した。

# SimpleDB

gem設定の追加
# Gemfile
gem 'aws-sdk'
AWS設定の用意
# config/initializers/aws.rb
AWS.config({
    :access_key_id => '<自分のと>',
    :secret_access_key => '<置換しろ>'
})
Modelの作成
#record.rb
class Record < AWS::Record::Base
     string_attr :name
end
コード例
 新規レコードの作成
     Record.new(:name => "First one").save
レコードの検索
     rs = Record.where('name = ?', 'First one')
レコードのname属性値取得
     rs.first.name
レコードの削除
     rs.first.delete       
[参考]


# S3

Gemfileとaws.rbはSimpleDBと同じなので省略

Bucketの取得
- 既存のものがある場合
b = s3.buckets["<bucket name>"]
- 新規作成する場合
b = s3.buckets.create("<bucket name>")
S3オブジェクトの取得
o = b.objects[<key>]
新規作成(或いは更新)の時(中身を書き込む)
o.write("hello") 
既存S3オブジェクトの内容の読み出し
o.read
[参考]
http://docs.amazonwebservices.com/AWSRubySDK/latest/frames.html


0 件のコメント:

コメントを投稿