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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^