【python】向AWS Dynamodb中插入数据

一、背景

AWS Dynamodb数据库在架构中起到的作用是配置数据库,s3上 buckect_a --> bucket_b --> bucket_c 对应着层与层之间的关系,总所周知,Dynamobd是非关系型数据库,数据插入的格式是键值对形式的

二、代码

import boto3
import json
import pandas as pd

AWS_ACCESS_KEY_ID=''
AWS_SECRET_ACCESS_KEY=''
AWS_SESSION_TOKEN=''
REGION_NAME=''
TABLE_NAME=''
FILE_PATH=''

# AWS credentials
dynamodb = boto3.resource('dynamodb', aws_access_key_id=AWS_ACCESS_KEY_ID,
                                  aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
                                  aws_session_token=AWS_SESSION_TOKEN,
                                  region_name=REGION_NAME)

# 获取dynamobd 表
table = dynamodb.Table(TABLE_NAME)

# csv导入,转为json格式
csv_data = pd.read_csv(FILE_PATH).to_json(orient="table", force_ascii=False, index=False)

# 将str转为dict(键值对的形式)
j = json.loads(csv_data)

for item in j['data']:
    try:
        resp = table.put_item(Item=item)
        if resp['ResponseMetadata']['HTTPStatusCode'] == 200:
            print("插入成功}")
        else:
            print(f"数据未成功插入,响应码:{resp['ResponseMetadata']['HTTPStatusCode']}")
            print(f"响应结果详情: {resp['ResponseMetadata']}")

    except  Exception as e:
        print(f"插入数据时发生异常,详情如下: {e}")

你可能感兴趣的:(【python】向AWS Dynamodb中插入数据)