#aws-amplify #aws-appsync #aws-amplify-cli
#aws-усиление #aws-синхронизация приложений #aws-усиление-cli
Вопрос:
У меня возникла проблема с запуском мутации, которая была сгенерирована CLI Amplify.
Я нахожусь на узле v14.18.1, CLI amplify 7.6.2.
Я только недавно перешел на GraphQL Transformer v2.
Вот моя модель:
type User @model @auth( rules: [ { allow: groups, groups: ["admin"] } { allow: owner, ownerField: "id", operations: [read] } ] ) { id: ID! first_name: String last_name: String email: String! customer: Customer @hasOne(fields: ["userCustomerId"]) userCustomerId: ID! @index(name: "usersByCreatedAt", queryField: "usersByCreatedAt" sortKeyFields: ["createdAt"]) createdAt: String! isAdmin: Boolean }
Мутация, которую я вызываю из AppSync:
mutation UpdateUser { updateUser(input: {id: "asdfasdfasdf", isAdmin: true, last_name: "Franklin", first_name: "Tim", email: "tim@tim.com", userCustomerId: "my_customer"}) { id } }
Ошибка:
{ "data": { "updateUser": null }, "errors": [ { "path": [ "updateUser" ], "data": null, "errorType": "MappingTemplate", "errorInfo": null, "locations": [ { "line": 2, "column": 3, "sourceName": null } ], "message": "Unsupported element '$[operation]'." } ] }
Кто-нибудь сталкивался с этой ошибкой, и как вы ее разрешили? Спасибо!
Ответ №1:
Проверьте, есть ли в нем какие-либо .vtl
файлы project_dir/amplify/backend/api/api_name/resolvers
. Если они есть, и вы не уверены, почему/не распознаете их , создайте резервную копию и удалите эти файлы, разверните свой локальный сервер amplify push
и посмотрите, удастся ли мутация.
Я получал точно такую же ошибку во время мутации удаления, и это решило ее для меня. CLI Amplify автоматически генерирует шаблоны для службы API, но переопределяет их любыми, найденными в этом каталоге. Просто не забудьте создать резервную копию всех этих файлов, прежде чем удалять их на всякий случай..
Комментарии:
1. Это действительно решило проблему для меня. Спасибо за информацию!