AWS S3バケットからファイルを取得し、Lambdaのローカルに保存する


ゴール

S3バケットに格納してあるファイルをLambdaのローカル(/tmpディレクトリ)に保存したいと思います。
今回はバケット(MyTestBucket)に保管したファイル(test_file.txt)を使用します。
ランタイムはPython 3.8です。

ソースコード

import os
import boto3

s3 = boto3.resource('s3')

def lambda_handler(event, context):

    bucket = s3.Bucket('MyTestBucket')
    bucket.download_file('test_file.txt', '/tmp/test_file.txt')
    return os.listdir('/tmp/')

結果

osモジュールのlistdir関数で、Lambdaの/tmpディレクトリにファイルが保存されているか確認しています。
テスト実行後のコンソールに表示された結果は以下の通りです。