いまさらですがRubyのクラウドAPIであるFog経由でAmazonのSimpleDBを利用する練習として作ったスクリプトをgistにアップロードしておきました。ぼくは自分の写真のデータをバックアップしているAmazon Glacierとの連携や簡単なウェブサービスでの利用を想定していますが、他の誰かの何かの参考になれば。
→ Ruby Fog::AWS::SimpleDB Example – gist
fogはgemで簡単にインストールできます。
#rbenv等で入れている場合 gem install fog #システムワイドのrubyを使用している場合 sudo gem install fog
20150107時点のコードを以下にも再掲しておきます。(gist上では更新されているかもしれません)
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 |
Leave a Reply