如何使用单个AppSync列表查询来返回所有记录?

0

【以下的问题经过翻译处理】 我的AppSync列表查询在应用过滤器后未返回DynamoDB表中的全部记录。

背景是这样的,我有一个包含大约250,000条数据的主要城市表格。当筛选该表格仅显示例如英国的城市时,查询并未返回所有记录,因为AppSync会将扫描操作限制为10个项目。如果我将查询限制变量添加到1,000,那么我在英国只会得到少于1,000个城市。似乎查询首先应用限制而不是过滤器,而不是出于某种原因的另一种方式…

我知道我可以像亚马逊云科技博客中概述的那样使用“next token”AppSync查询返回错误的项目数量。然而,这意味着我将需要执行多个调用。**有没有一种方法可以使用单个AppSync查询返回所有经过筛选的城市?**提前感谢!

profile picture
EXPERTE
gefragt vor 5 Monaten27 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 我想分享一个方法,我在CITY表中使用了全局二级索引(GSI),这样我就可以按国家代码(见下文)查询城市。然后,使用分页来收集其余的城市,因为API不返回超过1MB的数据。对于那些刚开始入门的人,我真的很喜欢这个YouTube视频,它解释了Scan和Query之间的区别。

type CITY @model {
id: ID!
country_code: String! @index(name: "byCountry", queryField: "listCitiesbyCountry")
name: String!
code: String!
state: String
...
}
profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen