Я использую собственное приложение реагирования, в котором я успешно сгенерировал API-интерфейс GraphQL с помощью AWS Amplify CLI и определил schema.graphql
. Я проверил это в консоли, и я могу определить информацию о видео в консоли AppSync и показать ее в DynamoDB в консоли. Когда я пытаюсь сделать это через приложение реагировать нативно, ничего не загружается.
Я также успешно вошел в систему через withAuthenticator
в приложении.
В моем App.js
я вызываю createVideo при нажатии кнопки и вызывает соответствующую функцию API мутации API.grapghql для записи данных в базу данных.
createVideo = async () => {
const newVideoInfo = {
videoIdInt: 12345,
videoName: "sheeran-moon",
videoUploader: "ed",
videoUploadedAt: "tonight",
videoLength: 85,
numberList: [7,8,9],
shareLink: "www.voda.com"
}
try {
await API.graphql(graphqlOperation(CreateVideo, newVideoInfo))
console.log('User successfully created!!')
}
catch (err) {
console.log('create user error: ', err)
}
}
render() {
return (
<View style={styles.container}>
<Button
style={{margin: 40}}
onPress={this.createVideo}
title='Add User'
backgroundColor='#ffa999'
/>
</View>
);
}
В моем файле /graphql/mutation.js
этот код относится к вызову в нем:
export const createVideo = `mutation CreateVideo($input: CreateVideoInput!) {
createVideo(input: $input) {
id
videoIdInt
videoName
videoUploader
videoUploadedAt
videoLength
numberList
shareLink
}
}
`;
Я попытался amplify push
в терминале, но ничего не меняется. Мой /src/aws-exports.js
файл пока содержит только это:
const awsmobile = {
"aws_project_region": "eu-west-2",
"aws_cognito_identity_pool_id": xxxxxx
"aws_cognito_region": "eu-west-2",
"aws_user_pools_id": "eu-west-2_dxxxx",
"aws_user_pools_web_client_id": "xxxxxx",
"aws_appsync_graphqlEndpoint": "https://xxxxxxxxxxxxxx.appsync-api.eu-west-2.amazonaws.com/graphql",
"aws_appsync_region": "eu-west-2",
"aws_appsync_authenticationType": "AMAZON_COGNITO_USER_POOLS"
};
export default awsmobile;
А мой index.js
содержит:
import Amplify from 'aws-amplify';
import config from './src/aws-exports';
Amplify.configure(config);
Понятия не имею, что мне здесь не хватает, чтобы эта мутация работала. Пожалуйста помоги!