我正在尝试将一个列表附加到“Hi”列表中,但是在list_append调用中出现了无效的运算符类型,其中一个是Map,但这些仍然是我的列表......
以下是API调用:
response = node_table.update_item(
TableName='xyz',
Key={......},
UpdateExpression='SET #ri = list_append(:vals, #ri)',
ExpressionAttributeNames={'#ri':'Hello.Hi'},
ExpressionAttributeValues={":vals": {"L": [ { "S": "Something" }]}})
错误:无效的UpdateExpression:运算符或函数的操作数类型不正确;运算符或函数:list_append,操作数类型:M
我提到DynamoDB : SET list_append not working using aws sdk,但无法弄明白
请让我知道我错过了什么
答案 0 :(得分:1)
查看您的表格,Hi
是地图的列表。您正尝试使用字符串列表更新它:
ExpressionAttributeValues={":vals": {"L": [ { "S": "Something" }]}})
这似乎是错误消息试图说的内容。
答案 1 :(得分:0)
Matt指出String约束实际上是错误,
这是正确的版本
response = node_table.update_item(
TableName='xyz',
Key={'..},
UpdateExpression='SET #ri = list_append(:vals, #ri)',
ExpressionAttributeNames={'#ri':'Hello.Hi'},
ExpressionAttributeValues={":vals": ["Something"]})