スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:スポンサー広告 

【Ruby】RubyでAmazonS3を操作してみる(aws-s3編)

aws-s3というgemでamazon s3を操作できるみたいなのでちょっと実験してみます

インストール

sudo gem install aws-s3

サンプルコード


#coding: utf-8
require 'rubygems'
require 'aws/s3'

include AWS::S3

6RATS_BUCKET_NAME = '6rats-test'

#host名を変更しないと東京リージョンにアクセスできません
DEFAULT_HOST.replace "s3-ap-northeast-1.amazonaws.com"

#コネクションを作成
Base.establish_connection!(
:access_key_id => 'your access key',
:secret_access_key => 'your secret access key'
)

#バケット一覧を取得
all_buckets = Service.buckets

#名前指定でバケットオブジェクトの取得
bucket = Bucket.find(6RATS_BUCKET_NAME)

#6rats-test/6rats/フォルダを作成する
S3Object.store("6rats/", nil, 6RATS_BUCKET_NAME)

#ファイルを保存する
File.open("hoge.txt", "rb") do |f|
S3Object.store("6rats/hoge.txt", f, 6RATS_BUCKET_NAME)
end

#keyの一覧を取得
Bucket.objects(6RATS_BUCKET_NAME, :max_keys => 10000).each do | obj |
puts obj.key
end



最初東京リージョンにリクエストできなくて困りました。


/usr/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.2/lib/aws/s3/error.rb:38:in `raise': The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. (AWS::S3::PermanentRedirect)
from /usr/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.2/lib/aws/s3/base.rb:72:in `request'
from /usr/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.2/lib/aws/s3/base.rb:88:in `get'
from /usr/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.2/lib/aws/s3/bucket.rb:102:in `find'
from aws_test.rb:22:in `
'


こんなエラーが出てました。

調べたらすぐ解決しました。

AWS::S3::DEFAULT_HOST.replace "s3-ap-northeast-1.amazonaws.com"

で解決しそうです。
スポンサーサイト
テーマ : プログラミング
ジャンル : コンピュータ

Tag:Ruby  Trackback:0 comment:0 

Comment

comment form
(編集・削除用):
管理者にだけ表示を許可
プロフィール

6rats

Author:6rats
こんにちは、ITベンチャーで働くエンジニアです
主に自分の周りで起きた技術的なことをメモとして書き残して行きます。
Android以外にもRuby/Ruby on RailsやFuelPHPなどなどたまにやります。基本的なスタンスとしては興味があるもしくは必要になったらいろんなことにチャレンジします。
最近はiOSアプリ開発を始めています。

購読
follow us in feedly
個人プロダクト

Androidアプリ

Twitterクライアント

Webアプリケーション

EcPriceWatch(Amazon価格の推移を計測、最安値を知らせるサービス)
Google AdSense
ブログ村
にほんブログ村 IT技術ブログへ
にほんブログ村
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。