AWS Lambda(Python3.9.10)からS3のCSVファイルを読み込む

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!')
    }

テスト

マネジメントコンソールからテストします。

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました