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
とかは可能でしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/06/10 15:34:47
  • 終了:2013/06/14 23:36:53

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4521ベストアンサー獲得回数18792013/06/12 02:02:18

まずは、余計なお世話から。
時間を指定する場合には、: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日後(三年くらい後)は、余裕です。

id:nigohiroki

ご回答ありがとうございます。

例にあった
doomsdayとはそういう意味だったのですね。

他にも
:autenticated => false
でもやりたいことが出来ました。

2013/06/14 23:36:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません