<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: storage code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 25 Jul 2008 07:45:56 GMT</pubDate>
    <description>DZone Snippets: storage code</description>
    <item>
      <title>upload_to_s3 - Ruby S3 upload client</title>
      <link>http://snippets.dzone.com/posts/show/4088</link>
      <description>Prerequisites:&lt;br /&gt;gem install aws-s3&lt;br /&gt;gem install main&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#!/bin/env ruby&lt;br /&gt;&lt;br /&gt;require 'rubygems'&lt;br /&gt;require 'main'&lt;br /&gt;require 'aws/s3'&lt;br /&gt;include AWS::S3&lt;br /&gt;&lt;br /&gt;Main {&lt;br /&gt;  argument('source_filename') {&lt;br /&gt;    cast :string&lt;br /&gt;    description 'source filename to copy to S3'&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  argument('bucket_name') {&lt;br /&gt;    cast :string&lt;br /&gt;    description 'bucket to place the file in on S3'&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  option('access_key_id') {&lt;br /&gt;    argument :optional&lt;br /&gt;    description 'specify the access_key_id manually'&lt;br /&gt;    default 'put your access key here if you want'&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  option('secret_access_key') {&lt;br /&gt;    argument :optional&lt;br /&gt;    description 'specify the secret key manually'&lt;br /&gt;    default 'put your secret key here if you want'&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  def run&lt;br /&gt;    bucket_name = params['bucket_name'].value&lt;br /&gt;    source_filename = params['source_filename'].value&lt;br /&gt;&lt;br /&gt;    Base.establish_connection!(&lt;br /&gt;      :access_key_id     =&gt; params['access_key_id'].value,&lt;br /&gt;      :secret_access_key =&gt; params['secret_access_key'].value&lt;br /&gt;    )&lt;br /&gt;&lt;br /&gt;    begin&lt;br /&gt;      Bucket.find(bucket_name)&lt;br /&gt;    rescue&lt;br /&gt;      puts "Need to make bucket #{bucket_name}.."&lt;br /&gt;      Bucket.create(bucket_name)&lt;br /&gt;&lt;br /&gt;      # Confirm its existence..&lt;br /&gt;      Bucket.find(bucket_name)&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    puts "Got bucket.."&lt;br /&gt;    puts "Uploading #{File.basename(source_filename)}.."&lt;br /&gt;    S3Object.store(File.basename(source_filename), open(source_filename), bucket_name)&lt;br /&gt;    puts "Stored!"&lt;br /&gt;&lt;br /&gt;    exit_success!&lt;br /&gt;  end&lt;br /&gt;}&lt;/code&gt;</description>
      <pubDate>Fri, 01 Jun 2007 17:21:39 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4088</guid>
      <author>peter (Peter Cooperx)</author>
    </item>
  </channel>
</rss>
