使用Python更新DynamoDB字段时出现无效的UpdateExpression错误

使用Python更新DynamoDB字段时出现无效的UpdateExpression错误,python,amazon-web-services,amazon-dynamodb,Python,Amazon Web Services,Amazon Dynamodb,我正在AWS Lambda中设置一个Python函数,以更新DynamoDB中的一个简单计数器表。每次函数运行时,它都应将计数器更新1。我希望利用原子计数器功能,但我目前不断遇到以下错误: 无效的UpdateExpression:运算符或函数的操作数类型不正确;运算符或函数:+,操作数类型:M“ 我的DynamoDB表只有两个字段:SiteURL(分区键)和Site(我希望随着每次更新而增加的数字) 这是代码-对我遗漏的东西有什么想法吗 import decimal import boto3

我正在AWS Lambda中设置一个Python函数,以更新DynamoDB中的一个简单计数器表。每次函数运行时,它都应将计数器更新1。我希望利用原子计数器功能,但我目前不断遇到以下错误: 无效的UpdateExpression:运算符或函数的操作数类型不正确;运算符或函数:+,操作数类型:M“

我的DynamoDB表只有两个字段:SiteURL(分区键)和Site(我希望随着每次更新而增加的数字)

这是代码-对我遗漏的东西有什么想法吗

import decimal
import boto3

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('resumecounter')

response = table.update_item(
    Key = {'SiteURL': 'https://website.com', 'Site': 'N'},
    ExpressionAttributeNames = {'#Site': 'Site'},
    ExpressionAttributeValues = {':increase': {'N': '1'},},
    UpdateExpression = "set site = site + :increase",
    ReturnValues="UPDATED_NEW"
)
print("UPDATING ITEM")
print(response)

我已经修复了一些东西,你的搜索键和属性值。我已经在我的环境上测试过了,应该可以用了

导入boto3
dynamodb=boto3.resource('dynamodb')
table=dynamodb.table('resumecounter')
响应=table.update\u项(
键={'SiteURL':'https://website.com'},
ExpressionAttributeValues={”:增加:1},
UpdateExpression=“set site=site+:增加”,
ReturnValues=“更新的\新的”
)
打印(“更新项目”)
打印(答复)