S3を使おう ― 2014/06/11 12:19
EC2で作ったサーバーからS3にファイルをコピーできそうなので、以下の手順で実現できました。色々試行錯誤しながら、実行したので、冗長なコマンドや順番違いなどがあるかもしれません。
1 以下を選択してサーバーの立ち上げ
Amazon Linux AMI 2014.03.1 ami-c9562fc8 (64-bit)
2 Terminal ソフトで、1で作ったサーバーにログイン
login ID : ec2-user
3 以下のコマンドを入力
$ sudo yum -y update
$ sudo yum -y groupinstall "Development tools"
$ sudo yum -y install libxml2-devel libxslt-devel libffi-devel
$ sudo yum -y install git rubygems ruby-devel
4 gemでrubyの環境整備
$ sudo gem install bundler
$ sudo gem install aws-sdk
$ sudo gem install aws-sdk-core --pre
$ bundle install
5 AWS の YOUR_ACCESS_KEY_ID & YOUR_SECRET_ACCESS_KEY の取得
Security Credentials
Access Keys (Access Key ID and Secret Access Key)
Create New Access Keys
6 以下の様なファイル(test.rb)を作成(S3でバケットを作成済とする)
require 'aws-sdk'
AWS.config(
:access_key_id => 'YOUR_ACCESS_KEY_ID',
:secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
s3 = AWS::S3.new
bucket = s3.buckets['s3_buckets_name']
filename = "full_path_file_name"
basename = File.basename(filename)
o = bucket.objects[basename]
o.write(:file => filename)
7 実行&確認
$ ruby test.rb
S3で指定ファイルがコピーされていることを確認
参考:
http://lapped.hatenablog.com/entry/2013/03/03/205016
http://qiita.com/katsuyoshi/items/d693e57eadc40465e7e6
http://akasata.com/articles/292
http://aws.amazon.com/jp/sdkforruby/
1 以下を選択してサーバーの立ち上げ
Amazon Linux AMI 2014.03.1 ami-c9562fc8 (64-bit)
2 Terminal ソフトで、1で作ったサーバーにログイン
login ID : ec2-user
3 以下のコマンドを入力
$ sudo yum -y update
$ sudo yum -y groupinstall "Development tools"
$ sudo yum -y install libxml2-devel libxslt-devel libffi-devel
$ sudo yum -y install git rubygems ruby-devel
4 gemでrubyの環境整備
$ sudo gem install bundler
$ sudo gem install aws-sdk
$ sudo gem install aws-sdk-core --pre
$ bundle install
5 AWS の YOUR_ACCESS_KEY_ID & YOUR_SECRET_ACCESS_KEY の取得
Security Credentials
Access Keys (Access Key ID and Secret Access Key)
Create New Access Keys
6 以下の様なファイル(test.rb)を作成(S3でバケットを作成済とする)
require 'aws-sdk'
AWS.config(
:access_key_id => 'YOUR_ACCESS_KEY_ID',
:secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
s3 = AWS::S3.new
bucket = s3.buckets['s3_buckets_name']
filename = "full_path_file_name"
basename = File.basename(filename)
o = bucket.objects[basename]
o.write(:file => filename)
7 実行&確認
$ ruby test.rb
S3で指定ファイルがコピーされていることを確認
参考:
http://lapped.hatenablog.com/entry/2013/03/03/205016
http://qiita.com/katsuyoshi/items/d693e57eadc40465e7e6
http://akasata.com/articles/292
http://aws.amazon.com/jp/sdkforruby/
コメント
トラックバック
このエントリのトラックバックURL: http://satok.asablo.jp/blog/2014/06/11/7341822/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。