DynamoDB 更新 - ExpressionAttributeNames 只能在使用表达式时指定

Ela*_*hts 2 amazon-web-services nosql amazon-dynamodb dynamodb-queries

我需要另外一双眼睛看这个。在我的一生中,我认为此参数集没有问题,用于 Dynamo DocumentClient,更新方法 -(此处:https : //docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#update -财产)。

{
    TableName: "mygame-dev",
    Key: { pk: "09d017aa-cbf7-42ce-be6a-a94ecb58f9a7", sk: "GAME" },
    ExpressionAttributeNames: { "#GAMELASTUPDATED": "gameLastUpdated", "#GAMETITLE": "gameTitle" },
    ExpressionAttributeValues: { ":gamelastupdated": 1556376010704, ":gametitle": "test title 1" },
    UpdateExpression: "SET #GAMELASTUPDATED = :gamelastupdated, #GAMETITLE = :gametitle",
    ReturnValues: "ALL_NEW"
};
Run Code Online (Sandbox Code Playgroud)

错误:

ValidationException: ExpressionAttributeNames 只能在使用表达式时指定

有什么想法吗?

Ela*_*hts 5

忽略,这是一个复制和粘贴问题......我使用的是“查询”而不是“更新”

曾是:

const updateGameResult = await ddbCall("query", params);
Run Code Online (Sandbox Code Playgroud)

本来应该:

const updateGameResult = await ddbCall("update", params);
Run Code Online (Sandbox Code Playgroud)