我想对$ctx.result.items
进行排序并响应sortedResult
,我不想手动编写Velocity Template Language
对$ctx.result.items
中的Response Mapping
进行排序。有没有更好的方法来响应AWS AppSync中的sortedResult?
答案 0 :(得分:2)
您要进行哪种类型的排序?如果使用DynamoDB解析器进行升序/降序,则可以在请求模板的ScanIndexForward
参数上对此进行设置:https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html
答案 1 :(得分:1)
(如果您找到了解决方案,希望对您有所帮助)
这取决于您如何为DynamoDB表设计GSI或LSI。
如here所述,“ DynamoDB在哈希主键属性上构建无序哈希索引,并在范围主键属性上构建排序范围索引。 “
这里的哈希索引与分区键相同,范围索引与排序键(旧术语和新术语)相同。
用类似的文字表示here-“所有具有相同分区键值的项目都存储在一起,按排序键值的排序顺序。” < / p>
因此,如果您以上述方式将GSI或LSI添加到DynamoDB表中(例如,所有产品ID为哈希/分区键,创建时间为范围/排序键,则需要按创建时间对产品进行排序)可以使用类似于example defined in this page of StackOverflow的东西。