dynamodb UpdateItem 使用 API 网关作为代理,错误
dynamodb UpdateItem using API Gateway as Proxy, error
我正在使用 AWS API 网关作为代理来公开 DynamoDB API。 UpdateItem 映射不起作用,它 return:
{
"__type": "com.amazon.coral.service#SerializationException"
}
下面是映射模板和负载:
{
"TableName": "registros",
"Key": {
"Pk": {
"S": "$input.path('$.Pk')"
},
"Sk": {
"S": "$input.path('$.Sk')"
}
},
"UpdateExpression": "set intenciones = :intenciones",
"ConditionExpression": "Pk = :Pk, Sk = :Sk,",
"ExpressionAttributeValues": {
":Pk": {"S": "$input.path('$.Pk')"},
":Sk": {"S": "$input.path('$.Sk')"},
":intenciones": {"S": "$input.path('$.intenciones')"},
},
"ReturnValues": "UPDATED_NEW"
}
有效负载:
{
"Pk":"DemandaProd",
"Sk":"raerytre#22",
"intenciones":"news"
}
您不需要 ConditionExpression
,因为 Key
暗示您将在 Pk
和 Sk
上进行匹配。试试这个:
{
"TableName": "registros",
"Key": {
"Pk": {
"S": "$input.path('$.Pk')"
},
"Sk": {
"S": "$input.path('$.Sk')"
}
},
"UpdateExpression": "set intenciones = :intenciones",
"ExpressionAttributeValues": {
":intenciones": { "S": "$input.path('$.intenciones')" }
},
"ReturnValues": "UPDATED_NEW"
}
我正在使用 AWS API 网关作为代理来公开 DynamoDB API。 UpdateItem 映射不起作用,它 return:
{
"__type": "com.amazon.coral.service#SerializationException"
}
下面是映射模板和负载:
{
"TableName": "registros",
"Key": {
"Pk": {
"S": "$input.path('$.Pk')"
},
"Sk": {
"S": "$input.path('$.Sk')"
}
},
"UpdateExpression": "set intenciones = :intenciones",
"ConditionExpression": "Pk = :Pk, Sk = :Sk,",
"ExpressionAttributeValues": {
":Pk": {"S": "$input.path('$.Pk')"},
":Sk": {"S": "$input.path('$.Sk')"},
":intenciones": {"S": "$input.path('$.intenciones')"},
},
"ReturnValues": "UPDATED_NEW"
}
有效负载:
{
"Pk":"DemandaProd",
"Sk":"raerytre#22",
"intenciones":"news"
}
您不需要 ConditionExpression
,因为 Key
暗示您将在 Pk
和 Sk
上进行匹配。试试这个:
{
"TableName": "registros",
"Key": {
"Pk": {
"S": "$input.path('$.Pk')"
},
"Sk": {
"S": "$input.path('$.Sk')"
}
},
"UpdateExpression": "set intenciones = :intenciones",
"ExpressionAttributeValues": {
":intenciones": { "S": "$input.path('$.intenciones')" }
},
"ReturnValues": "UPDATED_NEW"
}