Ruby Fog::AWS::SimpleDBのサンプル
いまさらですがRubyのクラウドAPIであるFog経由でAmazonのSimpleDBを利用する練習として作ったスクリプトをgistにアップロードしておきました。ぼくは自分の写真のデータをバックアップしているAmazon Glacierとの連携や簡単なウェブサービスでの利用を想定していますが、他の誰かの何かの参考になれば。
→ Ruby Fog::AWS::SimpleDB Example - gist
fogはgemで簡単にインストールできます。
1
2
3
4
5
#rbenv等で入れている場合
gem install fog
#システムワイドのrubyを使用している場合
sudo gem install fog
20150107時点のコードを以下にも再掲しておきます。(gist上では更新されているかもしれません)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require "fog"
#Create a Fog AWS SimpleDB instance
sdb = Fog::AWS::SimpleDB.new(
:aws_access_key_id => "YOUR_ACCESS_KEY_ID",
:aws_secret_access_key => "YOUR_SECRET_ACCESS_KEY",
:region => "ap-northeast-1" #meaning "Tokyo"
)
#Create domain
domainName="glacier"
sdb.create_domain(domainName)
#Put an item
itemName="sampleItem"
attributes={:color=>"blue", :price=>"500"}
sdb.put_attributes(domainName,itemName,attributes)
#
sleep 5
#Get the item that was just put
result=sdb.select("select * from #{domainName}")
puts result.body
YOUR_ACCESS_KEY_IDとYOUR_SECRET_ACCESS_KEYは、実際に使用するアカウントのものに変更してください。利用したいregionがTokyoでない場合は:regionも変更してください。AmazonのRegions and Endpointsのページで各regionの名称が整理されているので必要な場合は参照してください。
Region Name | Region |
US East (N. Virginia) | us-east-1 |
US West (Oregon) | us-west-2 |
US West (N. California) | us-west-1 |
EU (Ireland) | eu-west-1 |
Asia Pacific (Singapore) | ap-southeast-1 |
Asia Pacific (Sydney) | ap-southeast-2 |
Asia Pacific (Tokyo) | ap-northeast-1 |
South America (Sao Paulo) | sa-east-1 |