В настоящее время у меня есть схема AppSyn c, в которой я создал отдельный запрос в консоли AppSyn c, чтобы сохранить определенный параметр (assetId) и получить список результатов в моей таблице DynamoDB. Я уже тестировал запрос в консоли AppSyn c, и он отлично работает, сейчас у меня просто возникают проблемы с использованием Amplify в приложении React для вызова запроса. Я получаю следующую ошибку при запуске моего приложения:
DisplayCard.js:34 Uncaught (in promise) {data: null, errors: Array(1)}
"Validation error of type FieldUndefined: Field 'getAssetIdRating' in type 'Query' is undefined @ 'getAssetIdRating'"
Я пытался следовать документации согласно сайту Amplify (https://aws-amplify.github.io/docs/js/api), но все еще получаю эту ошибку.
Для справки вот запрос, когда я запускаю его в консоли AppSyn c: (возвращает желаемый результат)
query getAssetIdRating {
getRatingsAssetId(assetId:"949142fb-91d2-41bd-8c04-1d42ed8166c9") {
items {
id
assetId
rating
}
}
}
Решатель, который я использую для этого запроса, следующий: (Я создал отдельный Индекс)
{
"version" : "2017-02-28",
"operation" : "Query",
"index": "assetId-index",
"query" : {
## Provide a query expression. **
"expression": "assetId = :assetId",
"expressionValues" : {
":assetId" : $util.dynamodb.toDynamoDBJson($ctx.args.assetId)
}
}
}
А теперь переходим к моему коду React, это текущий запрос, который я использую в реакции, в src / graphql / query.
export const getAssetIdRating = /* GraphQL */ `
query getRatingAssetId($assetId: ID) {
getAssetIdRating(assetId: $assetId) {
items {
id
assetId
rating
}
}
}
`;
И когда я вызываю его, то в моем приложении React:
componentDidMount = async () => {
this.getRatings();
}
getRatings = async () => {
let { assetIdRatings } = this.state;
const result = await API.graphql(graphqlOperation(queries.getAssetIdRating, {assetId: '949142fb-91d2-41bd-8c04-1d42ed8166c9'}));
console.log(result);
}
Обратите внимание, что когда я вызываю запрос listRatings, он работает нормально, просто не работает с этим запросом. И как примечание, я добавил этот запрос позже вручную через консоль AppSyn c, я не предполагаю, что это должно играть проблему?
В любом случае, любая помощь будет принята с благодарностью! И я могу загрузить больше необходимый код, если требуется! Спасибо за помощь!