AWS Lambda(Python3.9.10)からS3のファイルを取得する
AWS Lambda(Python3.9.10)からS3に配置しているファイルの中身を取得してみます。接続するにはboto3モジュールを使用します。
sample.txt
sample.txtの中身です。
高橋K太郎
lambda_function.py
ソースです。
import json import boto3 S3 = boto3.resource( 's3', region_name='ap-northeast-1' ) def lambda_handler(event, context): bucket = S3.Bucket('hogehogehogehog') # バケット名指定してください obj = bucket.Object('sample.txt') response = obj.get() print({response["Body"].read().decode("utf-8-sig")}) return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') }
テスト
マネジメントコンソールからテストします。
sample.json
sample.jsonの中身です。
{ "name": "高橋K太郎", "age": 20 }
lambda_function.py
ソースです。日本語を含むので、Shift_JISでデコードしています。
import json import boto3 s3 = boto3.client('s3') def lambda_handler(event, context): response = s3.get_object(Bucket='hoge1947', Key='sample.json') json_data = response['Body'].read().decode('Shift_JIS') parsed_data = json.loads(json_data) print(parsed_data) return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') }
テスト
マネジメントコンソールからテストします。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^