【问题标题】:Put Json to DynamoDB item将 Json 放入 DynamoDB 项目
【发布时间】:2018-12-28 05:21:14
【问题描述】:

我正在尝试更新对 AWS DynamoDB 中某个项目的 json 响应并出现以下错误。有人可以帮忙吗

import boto3
import json

dynamoDB = boto3.client('dynamodb')

def lambda_handler(event, context):
    testinfo = {"Smile":{"Confidence": '99.8970947265625',"Value": 
"True"}}
    dynamoDB.put_item(TableName='DetectedInfo',Item={'DateTime': 
'12282018','Info': json.dumps(testinfo)})

错误:

ParamValidationError:参数验证失败: 参数 Item.Info 的类型无效,值:[{“Smile”:{“Confidence”:“99.8970947265625”,“Value”:“True”}}],类型:,有效类型: 参数 Item.DateTime 的类型无效,值:12132018,类型:,有效类型:

【问题讨论】:

  • Yyyymmdd 比 mmddyyyy 或 ddmmyyyy 更可取,因为它使时间顺序和词典顺序相同。与许多以其他方式表达的日期不同(12012018 - 12 月或 1 月?),它也很明确

标签: python aws-lambda amazon-dynamodb


【解决方案1】:

它必须是以下形式:

dynamoDB.put_item(TableName='DetectedInfo',
Item={
'DateTime': {
'N':'12282018'},
'Info': {
'S':json.dumps(testinfo)}
})

这里 N,S 是变量的类型。您需要在 aws 文档中检查允许的数据类型并相应地应用。

【讨论】:

    猜你喜欢
    • 2020-05-06
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 2012-12-14
    • 2016-02-05
    相关资源
    最近更新 更多