Я новичок в AWS AppSyn c, и я принял шаблон единой таблицы в DynamoDB. Теперь я пытаюсь создать элемент на основе определенного значения поля в существующем элементе в той же таблице. Например, у меня есть таблица с именем транзакция , которая содержит 2 типа записей.
- Запрос
- Ответ
введите описание изображения здесь
Как вы можете видеть в таблице выше, я могу вставить (PutItem) несколько ответов на конкретный запрос. Прежде чем вставлять новый ответ, мне нужно проверить, существует ли уже запрос (RequestID). Есть ли способ сделать это через условное выражение в преобразователе? Ниже приведен мой текущий код преобразователя запросов, который не работает должным образом.
#set( $Id = $util.autoId() )
{
"version" : "2017-02-28",
"operation" : "PutItem",
"key" : {
"PK": $util.dynamodb.toDynamoDBJson("USER#$ctx.args.input.UserId"),
"SK": $util.dynamodb.toDynamoDBJson("RESPONSE#$Id"),
},
"attributeValues" : $util.dynamodb.toMapValuesJson($ctx.args.input),
"condition": {
"expression": "SK = :SK",
"expressionValues" : {
":SK" : {
"S" : "REQUEST#${ctx.args.input.RequestId}"
}
}
}
}