AWS AppSync 响应排序结果?
Posted
技术标签:
【中文标题】AWS AppSync 响应排序结果?【英文标题】:AWS AppSync response sorted result? 【发布时间】:2019-02-23 05:15:36 【问题描述】:我想对 $ctx.result.items
进行排序并响应 sortedResult我不想在 Response Mapping
中手动编写 Velocity Template Language
以对 $ctx.result.items
进行排序。有没有更好的方法来响应 AWS AppSync 中的 sortedResult ?
【问题讨论】:
【参考方案1】:您希望进行哪种类型的排序?如果它使用 DynamoDB 解析器升序/降序,那么您可以在请求模板上的 ScanIndexForward
参数上设置它:https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html
【讨论】:
【参考方案2】:(如果您找到了解决方案,我希望这对其他人有所帮助)
这取决于您如何为 DynamoDB 表设计 GSI 或 LSI。
如here 所述,“DynamoDB 在散列主键属性上构建一个无序散列索引,并在范围主键属性上构建一个排序范围索引。”
这里的哈希索引和分区键一样,范围索引和排序键(旧词和新词)一样。
类似的文字表述为here - “所有具有相同分区键值的项目都存储在一起,按排序键值排序。”
因此,如果您以上述方式将 GSI 或 LSI 添加到 DynamoDB 表中(例如,您的所有产品 ID 都是哈希/分区键,创建时间是范围/排序键,您需要按创建时间对产品进行排序)可以使用类似于example defined in this page of ***的东西。
【讨论】:
以上是关于AWS AppSync 响应排序结果?的主要内容,如果未能解决你的问题,请参考以下文章
尽管成功的 200 响应,AWS Appsync GraphQL 查询静默失败