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

查看:50
本文介绍了如何将地图插入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列 filename status

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

表的属性定义:

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

我知道的类型status 是S,但在创建表时没有找到地图类型。我发现的只是 string binary number 。 / p>

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天全站免登陆