Я использую AWS Amplify, React Native и Expo для создания приложения. Мои таблицы DynamoDB настраиваются с помощью файла schema.graphql, и я создал множество мутаций в файле мутаций. js. Я хочу вызвать следующие мутации. js мутация из моего HomeScreen. js файл экрана:
export const createConversation = `mutation CreateConversation(
$input: CreateConversationInput!
$condition: ModelConversationConditionInput
) {
createConversation(input: $input, condition: $condition) {
id
centralStatement {
id
description
evidence {
id
description
source
userScores
}
source
userScores
}
participants {
id
username
conversations {
id
}
}
}
}
`;
Затем я вызываю эту мутацию в HomeScreen. js с помощью кнопки «Начать разговор» :
import { API, graphqlOperation } from 'aws-amplify'
import { createConversation } from '../src/graphql/mutations'
export default function HomeScreen() {
let handleConvoStartPress = async () => {
let convoData = {
id: 'blah',
centralStatement: {
id: 'blah',
description: 'blah',
evidence: {
id: 'blah',
description: 'blah',
source: 'blah',
userScores: 'blah',
},
source: 'blah',
userScores: 'blah',
},
participants: {
id: 'blah',
username: 'blah',
conversations: {
id: 'blah',
},
},
};
let newConvo = await API.graphql(graphqlOperation(createConversation, {input: convoData}))
console.log('*** Success ***');
console.log(newConvo);
}
return (
<View>
<ScrollView>
<View>
<TouchableOpacity onPress={handleConvoStartPress}>
<Text>
Start a conversation
</Text>
</TouchableOpacity>
</View>
</ScrollView>
</View>
);
}
Но когда я нажимаю «Начать разговор», я получаю эту ошибку:
Possible Unhandled Promise Rejection (id: 0):
Object {
"data": Object {},
"errors": Array [
[GraphQLError: Request failed with status code 403],
],
}
- что я думаю (с это ) означает, что мне нужно добавить сертификат X.509 или AWS идентификатор ключа доступа. Как я могу это сделать? Я изо всех сил пытаюсь найти правильные инструкции / примеры.