人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

amazon S3に保存した画像にアクセスするためのURLを発行する時、期限を設定出来ますが、その最大値はどれくらいなのでしょうか? (環境は ruby on rails でgem awsを利用)

S3Object.url_for(file_path, BUCKET, :expire => 1 * 24 * 60 * 60)
=>期限は1日

expire => 1000 * 24 * 60 * 60
とかは可能でしょうか?

●質問者: nigohiroki
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
ベストアンサー

まずは、余計なお世話から。
時間を指定する場合には、:expires_in で、時刻を指定するのが :expires です。
http://amazon.rubyforge.org/


で、指定できる時刻の話。

ソースを読んでいくと、S3Object の定義である object.rb から connection.rb に委譲され、最終的には authentication.rb の QueryString#expires メソッドにたどり着きます。
結局、Time#to_i がパラメータになるので、Time クラスが表現できる時刻が設定できる上限になります。

Time オブジェクトは時刻を起算時からの経過秒数で保持しています。 起算時は協定世界時(UTC、もしくはその旧称から GMT とも表記されます) の 1970年1月1日午前0時です。なお、うるう秒を勘定するかどうかはシステムに よります。
現在の Unix システムでの最大時刻は、 協定世界時の2038年1月19日午前3時14分7秒 です。

http://doc.ruby-lang.org/ja/1.9.3/class/Time.html

というわけで、

expire => 1000 * 24 * 60 * 60
とかは可能でしょうか?

1000日後(三年くらい後)は、余裕です。


nigohirokiさんのコメント
ご回答ありがとうございます。 例にあった doomsdayとはそういう意味だったのですね。 他にも :autenticated => false でもやりたいことが出来ました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ