Отличный ответ, спасибо.
AppSync Doc говорит, чтоexpressionNames
а такжеexpressionValues
являются необязательными полями, но они всегда заполняются генерацией кода. Первый вопрос, должны ли они быть включены в качестве лучшей практики при работе с DynamoDB? Если так, то почему?
Средство распознавания AppSync для запроса ключа раздела:
{
"version": "2017-02-28",
"operation": "Query",
"query": {
"expression": "#partitionKey = :partitionKey",
"expressionNames": {
"#partitionKey": "partitionKey"
},
"expressionValues": {
":partitionKey": {
"S": "${ctx.args.partitionKey}"
}
}
}
}
Второй вопрос, что именно является непрофессиональным переводомexpression
поле здесь в коде выше? Что именно это заявление говорит DynamoDB делать? Какая польза от#
в"expression": "#partitionKey = :partitionKey"
и являются ли имена и значения выражений только форматированием гарантий?