Использование AWS AppSync, Graphql и DynamoDB
Следующий запрос вызывает у меня проблему.
eventId - необязательное поле. При выполнении приведенного ниже запроса записи с необязательным полем eventId вызывают ошибку. Я бы ожидал, что eventId будет нулевым, если преобразователь не сможет выполнить .. Однако появляется сообщение ниже.
Как бы это было разрешено?
query listTickets {
listTickets {
items {
id,
eventId {
id,
}
}
}
}
"message": "Предоставленный ключевой элемент не соответствует схеме (Сервис: AmazonDynamoDBv2; Код состояния: 400; Код ошибки: ValidationException; Идентификатор запроса: FTFDINCA42EALGI59I2VGH07G7VV4KQNSO5AEMVJF66Q9ASUAAJG)"
{
"version": "2017-02-28",
"operation": "GetItem",
"key": {
"id": $util.dynamodb.toDynamoDBJson($ctx.args.eventId),
}
}
Все по умолчанию, я не добавлял ключ. Мне действительно кажется, что он принимает нулевой необязательный идентификатор события и пытается найти на нем идентификатор, вызывая ошибку схемы.
к какому полю прикреплен вышеуказанный преобразователь?
Он привязан к EventId
Итак, вы обращаетесь к $ ctx.args.eventId, но eventId не является аргументом. можешь попробовать $ ctx.source.eventId?





Есть ли у вашей таблицы, в которой вы запускаете элемент получения, ключ раздела с именем
id? или это вторичный индекс?