Python dynamodb ExpressionAttributeValues 包含无效键:语法错误;钥匙:

One*_*lve 2 python amazon-dynamodb

试图做一个 update_item ,如果它没有找到现有的属性,它应该创建新的属性(根据文档),但我收到了一个语法错误。

我整天都在绞尽脑汁想弄清楚为什么我会得到这个,但我似乎无法克服这个问题。感谢您的任何帮助

我得到的错误:

ClientError: An error occurred (ValidationException) when calling the UpdateItem operation:
   ExpressionAttributeValues contains invalid key: Syntax error; key: "var4"
Run Code Online (Sandbox Code Playgroud)

我的代码:

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('contacts')
    table.update_item(
    Key={'email': emailID},
    UpdateExpression=SET last_name = :var0, address_1_state = :var1, email_2 = :var2, phone = :var3, phone_2 = :var4

    ExpressionAttributeValues={
     'var0': 'Metzger', 
     'var1': 'CA', 
     'var2': 'none', 
     'var3': '949 302-9072', 
     'var4': '818-222-2311'
    }
    )
Run Code Online (Sandbox Code Playgroud)

dar*_*inx 13

只需更改如下所示的部分 -

 ExpressionAttributeValues={
     ':var0': 'Metzger', 
     ':var1': 'CA', 
     ':var2': 'none', 
     ':var3': '949 302-9072', 
     ':var4': '818-222-2311'
    }
Run Code Online (Sandbox Code Playgroud)

希望代码会起作用:)