У меня есть базовое приложение VueJS, которое подключается к AWS Amplify DynamoDB с помощью GraphQL. Все подключается, данные доступны для работы локально. Приложение также может быть успешно развернуто в данной ветке.
Однако даже при наличии файла aws-exports
с настройками конечной точки GraphQL развернутое приложение не подключается к базе данных.
// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.
const awsmobile = {
"aws_appsync_graphqlEndpoint": "https://xxxxxxx.appsync-api.us-east-2.amazonaws.com/graphql",
"aws_appsync_region": "us-east-2",
"aws_appsync_authenticationType": "API_KEY",
"aws_appsync_apiKey": "xxxxxxxx",
};
export default awsmobile;
Вместо этого доступ к приложению по этой ссылке вызывает эту ошибку:
"No graphql endpoint provided."
Я развернул с помощью консоли AWS Amplify. Любые советы приветствуются.
После некоторого поиска я нашел исправление, и это довольно просто. Недостаточно иметь настройки AppSync, нам нужно фактически настроить Amplify с конечными точками GraphQL и ключом API следующим образом:
Amplify.configure(aws_exports);
Vue.use(AmplifyPlugin, AmplifyModules);
Vue.config.productionTip = false
Amplify.configure({
API: {
graphql_endpoint: 'https://xx.appsync-api.us-east-2.amazonaws.com/graphql',
graphql_headers: async () => ({
'x-api-key': 'xxxx',
})
}
});