スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

S3で非公開の画像を一時的に表示する

https://s3.amazonaws.com/bucket_name/file
でS3に保存されているファイルが非公開の時に一時的に公開する方法です。
ドキュメントのこれを参考にしました。

function makeUrl($path, $seconds, $key, $secret) {
$expire = (new DateTime())->add(new DateInterval('PT' . $seconds . 'S'))->format('U');
$stringToSign = "GET\n\n\n{$expire}\n{$path}";
$signature = urlencode(base64_encode(hash_hmac(
'sha1', $stringToSign, $secret, true)));
return 'https://s3.amazonaws.com'
. $path
. '?AWSAccessKeyId=' . $key
. '&Signature=' . $signature
. '&Expires=' . $expire;
}


makeUrl('/bucket_name/file', 60, 'my-key', 'my-secret');
で1分間アクセス可能になります。
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。