python-2.7 - Dynamodb 使用 python boto3 更新项目表达式

标签 python-2.7 amazon-web-services amazon-dynamodb boto

我有一个字符串字段,“标题”。我正在尝试使用更新表达式更新它

persontable.update_item(Key={'person_id':person_id}, UpdateExpression="SET title = UPDATED")

我得到
An error occurred (ValidationException) when calling the UpdateItem operation: The provided expression refers to an attribute that does not exist in the item

我可以在 AWS 控制台中看到该人的属性“title”。是什么赋予了?

最佳答案

不要将值直接插入表达式中。而是使用 ExpressionAttributeValues -- 见 boto3 guide

persontable.update_item(Key={'person_id':person_id},
                        UpdateExpression="SET title = :updated",                   
                        ExpressionAttributeValues={':updated': 'UPDATED'})

关于python-2.7 - Dynamodb 使用 python boto3 更新项目表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34689912/

相关文章:

amazon-web-services - 在 AWS Data Pipeline 中使用参数一段时间时出错

java - 无法从 DynamoDB 表中删除项目 (java)

Python 请求 : how do I check if a user already logged in or not?

python - 如何确定二维列表是否包含值?

amazon-web-services - 在 ec2 上解压缩文件并将其保存在 S3 上?

amazon-web-services - 如何在 Apache Airflow 的 AWS Managed Workflows 中启用 API?

java - 使用java代码获取在AWS DynamoDb中创建的表

java - 使用映射器在 DynamoDB 上保存时出现 ValidationException

python - 使用 selenium 2(Python 绑定(bind))在 Web 浏览器中的任意位置单击

python - Tornado AsyncHTTPClient 性能下降