- ブログネタ:
- Webアプリケーション に参加中!
昨年末に発売された Eye-Fi Share の日本語版ですが、これまで個人的なバックアップ用途に利用していた Amazon S3 が使えないようだったので Gallery の Protocol を受けとって S3 にアップロードする Proxy 的なアプリを書いて対応してみました。
- http://coderepos.org/share/browser/lang/perl/GR2S3/trunk
- http://svn.coderepos.org/share/lang/perl/GR2S3/trunk/
Catalyst 以外に Catalyst::Plugin::Session 系がいくつかと Net::Amazon::S3 あたりが必要だと思います。
設定項目として画像をアップロードするバケット名を指定します。
mod_perl や FastCGI 等で Catalyst アプリを立ちあげたあとは、Eye-Fi の設定画面から Gallery2 を選択します。
以下は mod_perl2 の場合の設定例です。
<Perl> use lib qw(/home/www/apps/GR2S3/lib); </Perl> PerlModule GR2S3 <Location /gr2> SetHandler perl-script PerlResponseHandler GR2S3 </Location>
URL に アプリケーションの URL、 ユーザー名に S3 の API KEY、 パスワードに シークレットを設定します。
Eye-Fi 側が Gallery2 を想定してるので /gr2/main.php のような パスにアクセスがあるのがちょっと気持ちわるいですが、気にしないでおきましょう。
画像は日付でプレフィックスがつけられて 2009-01-02/PICT001.JPG のようなキーで保存されます。
Gallery のリモートプロトコルは以下に仕様があります。全然綺麗とは言い難いのですが、簡単なので再実装は容易です。
Eye-Fi に対応するためには login, fetch-albums-prune, add-item, new-album のみを実装しておけば大丈夫なようです。