Lambdaで署名付きURLを生成する方法(2018年3月)
以前からちょくちょく署名付きURLを作成していたのですが、それを久々に使ったところ、
なぜかエラーがでてたので、今の時点で使えるようにアップデートしました。
同じ情報はググればいっぱい出てくるのですが、どこも中途半端だったり、わかりにくかったりするので、
ここではURLが生成されるならよいという仕様で行きます。
環境
- Python 3.6
コード
#下2行は決まり文句的なもの import boto3 def lambda_handler(event, context): #BUCKET = '<バケット名>' #KEY = '<ファイル名(パス含む)>' BUCKET = 'hogehoge' KEY = 'foo/bar.jpg' s3 = boto3.client('s3') #URLを生成 #ExpiresInでURLの有効期限を設定 url = s3.generate_presigned_url( ClientMethod = 'get_object', Params = {'Bucket' : BUCKET, 'Key' : KEY}, ExpiresIn = 604800, HttpMethod = 'GET' ) #生成したURLを出力 print (url)
注意点
- 冒頭の決まり文句的なものが入っているか
- インデントがきちんとされているか(カッコとセミコロンの後は特に注意)
うまくいかなかったらコメントくださいな。
自己紹介的な
はじめまして。
今更ながら技術ブログをはじめてみることにしました。
普段は主にBI・DWH界隈に生息しており、
ツールの導入支援、レポート開発(Java、Javascript等)、DWH設計ならびにETL構築支援等コンサルを主に行っています。
また並行してビッグデータがらみの調査・検証もしており、
主に分散システム(Hadoop、Spark、Kafka)あたりが最近のマイブームです。
このブログではそうした日々の何気ないことから発見した技術的なTipsや
技術本の感想みたいなものを行っていこうと考えています。
技術的興味関心キーワード