You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AppSync与DynamoDB时报Invalid UpdateExpression语法错误如何解决

问题解决方案

错误根源

DynamoDB的UpdateItem操作的UpdateExpression语法要求SET子句必须遵循SET <属性引用> = <值引用>的格式,你当前请求模板中的表达式缺少赋值等号,直接写为SET #p :da,因此触发语法错误。

修复步骤

  1. 修改请求模板中的update.expression配置,补充等号:
{
    "version" : "2017-02-28",
    "operation" : "UpdateItem",
    "key" : {
        "name" : $util.dynamodb.toDynamoDBJson($ctx.identity.username),
        "attribute": $util.dynamodb.toDynamoDBJson("info")
    },
    "update" : {
        "expression" : "SET #p = :da",
        "expressionNames" : {
            "#p" : "data"
        },
        "expressionValues" : {
            ":da" : $util.dynamodb.toDynamoDBJson($ctx.args.profileInput)
        }
    }
}
  1. (可选)修复响应模板匹配返回结构:你当前把profile数据存在DynamoDB项的dataMap字段中,原响应模板直接返回整项的话,无法匹配Schema定义的Profile字段结构,会导致返回的name、location为空,可将响应模板修改为:
$util.toJson($ctx.result.Attributes.data)

修改后就能正常返回你需要的Profile字段内容。

内容的提问来源于stack exchange,提问作者plutolaser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 09:06:05