У меня API Appsync для подключения к таблице Dynamo.
Динамо таблица содержит данные: («id» - это ключ, а «year» - это ключ сортировки)
|--------------|-------------|-------------|-------------|-------------|
| id | year | name | class | subject |
|--------------|-------------|-------------|-------------|-------------|
| 001 | 2017 | Tom | E1 | Math |
|--------------|-------------|-------------|-------------|-------------|
| 002 | 2017 | Mary | E1 | Math |
|--------------|-------------|-------------|-------------|-------------|
| 003 | 2017 | Peter | E1 | Math |
|--------------|-------------|-------------|-------------|-------------|
схема
type Query {
listStudents(filter: TableStudentFilterInput, limit: Int, nextToken: String): StudentConnection
}
type StudentConnection {
items: [Student]
nextToken: String
}
input TableStudentFilterInput {
id: TableStringFilterInput
year: TableStringFilterInput
name: TableStringFilterInput
class: TableStringFilterInput
subject: TableStringFilterInput
}
type Student {
id: String!
year: String!
name: String
class: String
subject: String
}
Запрос:
query listStudentByYear {
listStudents (filter:{year:{eq:"2017"}}) {
items {
id
year
name
class
subject
}
}
}
Проблема: запрос возвращает 001 и 002, но не 003.
Когда я пытался обновить «id» с 003 до 004, запрос корректно возвращает 001, 002, 004.
Эта странная проблема возникает довольно часто, через некоторое время запрос AppSync возвращает неполный результат (некоторые отсутствуют).
Любое предложение приветствуется.