更新与 TransactWriteItems (dynamodb)

问题描述 投票:0回答:1

我需要更新我的发电机表上属性中的嵌套对象。 我正在对数组进行批处理以获取参数。但是,使用

TransactWriteItems
的操作失败并出现以下错误:

UnhandledPromiseRejectionWarning:ValidationException:无效 UpdateExpression:文档中使用的表达式属性名称 路径未定义;属性名称:#useAutoCost

我正在发送这些参数:

{
"TransactItems": [
    {
        "Update": {
            "TableName": "XXXXtest",
            "Key": {
                "windFarmTurbineKey": "XXXXX1",
                "key": "testxxx"
            },
            "UpdateExpression": "SET observations.#insp.#manualCost = :manualCost, observations.#insp.#useAutoCost = :useAutoCost",
            "ExpressionAttributeNames": {
                "#insp": "2022-08-18-2",
                "#manualImpact": "manualImpact",
                "#useAutoImpact": "useAutoImpact"
            },
            "ExpressionAttributeValues": {
                ":manualImpact": 800,
                ":useAutoImpact": false
            }
        }
    }
]

}

我遵循了第二个选项:使用

update
并且它有效。

我想知道为什么无法使用

transactWrite
更新嵌套对象。我在文档中没有找到任何内容...

有什么想法吗? 谢谢

amazon-dynamodb
1个回答
0
投票

TransactWriteItems 可以进行更新

出现

undefined
失败的情况听起来不像是写的,如果没有看到您的代码,我们无法提供帮助。

但是一个

UpdateItem
和一个
UpdateItems
内的一批
TrasnactWriteItem
没有区别。

编辑您的问题:

您尚未在 AttributeValueNames 中定义

#useAutoCost

© www.soinside.com 2019 - 2024. All rights reserved.