python - 使用python将解析的csv文件上传到DyanmoDB时如何使关键元素与模式匹配
问题描述
我正在使用 AWS Cloud9 并收到以下错误,“botocore.exceptions.ClientError:调用 BatchWriteItem 操作时发生错误(ValidationException):提供的关键元素与架构不匹配”。
我尝试重新创建一个较小的表格来解决这个问题。我只用 2 列创建了一个表:“Card_Number”(数字)和“详细信息”(字符串)。
我尝试在 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 中,我已经在这方面工作了数周,之前没有任何经验。所以,我真的可以用一些帮助来保持我的理智。
解决方案
推荐阅读
- sql-server - 通过 T-SQL 过滤不同项目的问题
- cocoapods - Cocoapod:为什么我通过了“pod lib lint”验证,但在进行“pod 规范验证”时却失败了
- c# - Windows Forms Application to ARM64 (IOT)
- android - How to implement firebase recycler using TextWatcher?
- python - Python/Django - 无法访问通用视图中的链接模型
- python - 填充列表 - Python 分配索引并给出错误
- .htaccess - 将不带扩展名的文件重定向到特定 URL 并忽略带扩展名的文件
- c# - .NET Core API 在 Azure 上部署后无法正常工作
- java - 重构下面的代码以利用非常小的空间,即使是大数据
- android-studio - 无法加载文件:图片/保存的图片/AA16.png - tsx 文件问题