Dateien auf Amazon S3 speichern

Amazon Simple Storage Service (Amazon S3) ist eine günstige möglichkeit Dateien in (fast) beliegiger Größe zu speichern. Im heutigen Script-Tip wollen wir zeigen wie einfach es ist Daten auf S3 zu speichern.

Um nicht die ganze Funktionlität selber zu implementieren werden wir in dem Beispiel auf das Gem „aws-s3“ zurückgreifen. Um das folgende Beispiel auszuprobieren, wird ein S3-Account für den Dienst benötigt. Der Account kann bei Amazon unter http://aws.amazon.com/s3/ eingerichtet werden.

Installation von aws-s3:

[bash]
gem install aws-s3
[/bash]

Danach kann man ganz einfach seine Dateien auf S3 übertragen.

[ruby]
require ‚rubygems‘
require ‚aws/s3‘
include AWS
include S3

AWS::S3::Base.establish_connection!(
:access_key_id => ‚DIE_AMAZON_ACCESS_KEY_ID‘,
:secret_access_key => ‚DER_AMAZON_SECRET_KEY‘
)

S3Object.store(‚der/objekt/pfad/auf/amazon/test.jpg‘, open(‚test.jpg‘),
‚der.bucket.name‘, :access => :public_read)
[/ruby]

Amazon S3 lässt ich auch für z.B. für Backups verwenden. Das wäre dann aber ein anderer Script-Tip… 🙂