AmazonS3にファイルをアップロードする

upload-awss3.rb

#!/usr/bin/env ruby
require 'rubygems'
require 'aws/s3'

BUCKET = "your-bucket-name"

AWS::S3::Base.establish_connection!(:access_key_id => "your-key", 
                                    :secret_access_key => "your-secret")
ARGV.sort{|a,b| a.split(/\//).last.to_i <=> b.split(/\//).last.to_i}.each{|name|
  filename = name.split(/\//).last
  begin
    print "upload #{name} ... "
    AWS::S3::S3Object.store("/hoge/"+filename, open(name), BUCKET, :access => :public_read)
  rescue AWS::S3::ResponseError => error
    puts error
  else
    puts "success => http://#{BUCKET}.s3.amazonaws.com/hoge/#{filename}"
  end
}

upload

ruby upload-awss3.rb tmp/*.txt


access_key_idとsecret_access_keyはawsのwebのconsoleから確認できる
bucketの作成は http://s3hub.com/ を使った。