Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9140

Node.jsのLambdaでPre-Signed URLを発行する

$
0
0

Pre-Signed URL

S3はアクセス権を設定することで、誰でもファイルにアクセスできるようにしたり、できなくしたりが可能です。
Pre-Singed URLは誰でもファイルにアクセスできなくしているところに一時的にアクセスを許可することができます。
今回はこのPre-SingedをLamndaで発行してみたいと思います。

S3

バケットを準備して非公開の設定にしておきます。
テスト用に1つ画像ファイルをアップロードしておきましょう。

Lambda

今回はNode.jsでPre-Singed URLを発行します。
LambdaからS3にアクセスできるようにロールを設定しておきましょう。

コード

バケット名、ファイルパスは適宜変更して下さい。

Lambda
consts3=newAWS.S3()constparams={Bucket:'<バケット名>',Key:'<ファイルパス>',Expires:100// 期限(秒)}asyncfunctiongetPresignedUrl(){returnnewPromise((resolve,reject)=>{s3.getSignedUrl('getObject',params,(err,url)=>{if(err){reject(err)}else{resolve(url)}})})}exports.handler=async(event)=>{consturl=awaitgetPresignedUrl()return{url:url}}

これで署名付きのURLが返ってくるのでアクセスするとアップロードした画像が見れるはずです。


Viewing all articles
Browse latest Browse all 9140

Trending Articles