使用python将解析的csv文件上传到DyanmoDB时如何使关键元素与架构匹配

时间:2019-02-17 14:53:25

标签: python csv amazon-dynamodb boto3

我正在使用AWS Cloud9,并且收到以下错误“ botocore.exceptions.ClientError:调用BatchWriteItem操作时发生错误(ValidationException):提供的键元素与架构不匹配”。

我试图重新创建一个较小的表来解决它。我创建了一个只有两列的表格:“ Card_Number”(数字)和“ Details”(字符串)。

我尝试在item []部分中插入类似内容,但它创建了我无法解决的语法错误...

items = ['Card_Number':row.split{',')[0],
            'Detials':row.split{',')[1]]

import boto3
import csv

dynamodb = boto3.resource('dynamodb', 'us-east-1')

def batch_write(table_name,rows):
    table = dynamodb.Table(table_name)
with table.batch_writer() as batch:
    for row in rows:
        batch.put_item(Item=row)
return True

def read_csv(csv_file,list):

    rows = csv.DictReader(open('testTable1.csv'))

for row in rows:
    list.append(row)

if __name__ == '__main__':

table_name = 'testTable1'
file_name = 'testTable1.csv'
items= []

read_csv(file_name, items)
status = batch_write(table_name,items)

if(status):
    print('Data is saved')
else:
    print('Error while insterting data...')

我希望看到DynamoDB中显示的数据,我已经参加了数周,并且没有任何经验。因此,我真的可以使用一些帮助来保持理智。

0 个答案:

没有答案