0
Help us understand the problem. What are the problem?

posted at

updated at

【python】S3上のcsvファイルから、dynamoDBにデータをインポートするAWS lambdaのサンプルコード

こちらでスプレッドシートをcsvに変換してS3に保存したので、csvからdynamoDBのテーブルを作成しました。

サンプルコード

import os
import boto3
import pandas as pd

s3_client = boto3.client("s3")
dynamodb = boto3.resource("dynamodb")
table = dynamodb.Table("任意のテーブル名")


def lambda_handler(event, context):
    bucket_name = os.environ['bucket_name']
    prefix = os.environ['prefix']

    s3 = boto3.client('s3')
    obj = s3.get_object(Bucket=bucket_name, Key=prefix)
    df = pd.read_csv(obj['Body'], dtype='object')

    for index, item in df.iterrows():
        try:
            table.put_item(
                Item = {
                    "foo"  : str(item['foo']),
                    "bar"  : str(item['bar']),
                    "baz"  : str(item['baz'])
                }
            )
        except Exception as e:
            print(e)

※ 実行するたびにテーブルが上書きされます

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?