AWS Lambda(Python3.9.10)からS3のCSVファイルを読み込む
AWS Lambda(Python3.9.10)からS3に配置しているCSVファイルの中身を取得してみます。S3に接続するにはboto3モジュール、CSV読み込みにはcsvモジュールを使用します。
CSVファイル
S3に配置しているCSVファイルです。ヘッダ行ありです。
Name,Age Alice,25 Bob,30 Charlie,22 David,35
lambda_function.py
ソースです。
import json
import boto3
import csv
from io import StringIO
S3 = boto3.resource(
's3',
region_name='ap-northeast-1'
)
def lambda_handler(event, context):
object = S3.Object('xxx', 'yyy.csv') # バケット名, オブジェクトキー
csv_data = object.get()['Body'].read().decode('utf-8')
csv_reader = csv.reader(StringIO(csv_data))
next(csv_reader) # ヘッダ行スキップ
for row in csv_reader:
print(row)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
テスト
マネジメントコンソールからテストします。

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


