如何将地图插入 DynamoDB 表? [英] How do I insert a map into DynamoDB table?

查看:25
本文介绍了如何将地图插入 DynamoDB 表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码行:

table.put_item( Item={'filename' : key, 'status' : {'M' : iocheckdict }})

iocheckdict 看起来像这样:

{'A': 'One', 'C': 'Three', 'D': 'Four', 'B': 'Two', 'E': 'Five'}

所以,当我运行代码时,我得到了这个错误:

So, when I am running the code, I get this error:

An error occurred (ValidationException) when calling the PutItem operation: One or more parameter values were invalid: Type mismatch for key status expected: S actual: M

即使我提到 M 作为数据的类型,为什么我会得到这个?

Why am I getting this, even though I mentioned M as the type of the data?

PS:我的表中有 2 列 filenamestatus

PS : I have 2 columns filename and status in my table

表的属性定义:

"AttributeDefinitions": [
    {
        "AttributeName": "filename",
        "AttributeType": "S"
    },
    {
        "AttributeName": "status",
        "AttributeType": "S"
    }
],

我知道status的类型是S,但是我在建表的时候没有找到map类型.我找到的只有 stringbinarynumber.

I understand that the type of status is S, but I haven't found the map type while creating the table. All I found are string, binary and number.

推荐答案

插入dynamodb的更简单方法

Easier way to insert into dynamodb

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table("table_name")

item={}
item['filename'] = key
item['status'] = {'A': 'One', 'C': 'Three', 'D': 'Four', 'B': 'Two', 'E': 'Five'}

table.put_item(Item=item)

这篇关于如何将地图插入 DynamoDB 表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆