指定类型时属性值类型无效

2024-03-29 12:43:05 发布

您现在位置:Python中文网/ 问答频道 /正文

在尝试对DynamoDB表执行批处理write项时,Python Boto3出现了一个奇怪的问题。我正在跟踪documentation并尝试编写单个项目。该表设置正确,我可以通过AWS cli运行批写项,没有问题。

假设客户端和DynamoDB设置正确,我运行:

client.batch_write_item(RequestItems={
    "myTable": [
        {
            "PutRequest": {
                "Item": {
                    "name": {
                        "S": "hello"
                    },
                    "value": {
                        "S": "world"
                    }
                }
            }
        }
    ]
})

我得到以下错误:

botocore.exceptions.ClientError:调用BatchWriteItem操作时发生错误(ValidationException):属性值类型无效

如果更改,请删除类型并运行:

client.batch_write_item(RequestItems={
    "myTable": [
        {
            "PutRequest": {
                "Item": {
                    "name": "hello",
                    "value": "world"
                }
            }
        }
    ]
})

它按预期工作。

我需要使用之前的格式,该格式遵循文档并与AWS cli兼容。

文档是否有误,或者我遗漏了配置设置、版本问题或其他什么问题?


Tags: nameclientawshelloworldclivaluebatch