AWS AppSync отсортированный ответ? - PullRequest
0 голосов
/ 19 сентября 2018

Я хочу отсортировать $ctx.result.items и ответить на sortedResult
Я не хочу вручную писать Velocity Template Language для сортировки $ctx.result.items в Response Mapping.Есть ли лучший подход для ответа sortedResult в AWS AppSync?

Ответы [ 2 ]

0 голосов
/ 11 января 2019

(если вы нашли решение, я надеюсь, что это поможет кому-то еще)

Это зависит от того, как вы спроектировали GSI или LSI для вашей таблицы DynamoDB.

Как указано здесь"DynamoDB создает неупорядоченный хеш-индекс для атрибута первичного ключа хеш-функции и отсортированный диапазон индекс для атрибута первичного ключа диапазона."

Здесь хеш-индекссовпадает с ключом раздела, а индекс диапазона совпадает с ключом сортировки (старые и новые термины).

Аналогичный текст указан здесь - "Все элементы с одинаковыми значения ключа раздела хранятся вместе, в порядке сортировки по значению ключа сортировки . "

Таким образом, если вы добавили GSI или LSI в таблицу DynamoDB способом, указанным выше (например, все вашиИдентификаторы продуктов - это ключи хэша / раздела, а время создания - это ключи диапазона / сортировки, и вам нужно отсортировать продукты по времени создания. Вы можете использовать что-то похожее на пример , определенный на этой странице StackOverflow .

0 голосов
/ 19 сентября 2018

Какой тип сортировки вы хотите сделать?Если он поднимается / опускается с помощью резолвера DynamoDB, вы можете установить это в аргументе ScanIndexForward для этого в шаблоне запроса: https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html

...