я бы порекомендовал прочитать эту статью: Backend GraphQL: как вызвать мутацию AWS AppSync из AWS Lambda ,
цитируя автора, https://stackoverflow.com/users/1313441/adrian-hall, мы имеем:
GraphQL маршрутизируется по HTTPS. Это означает, что мы можем моделировать клиентские библиотеки GraphQL с помощью простого HTTPS POST. Поскольку мы используем IAM, нам необходимо подписать запрос, прежде чем мы его доставим. Вот мой код для этого:
// ... more code here
// POST the GraphQL mutation to AWS AppSync using a signed connection
const uri = URL.parse(env.GRAPHQL_API);
const httpRequest = new AWS.HttpRequest(uri.href, env.REGION);
httpRequest.headers.host = uri.host;
httpRequest.headers['Content-Type'] = 'application/json';
httpRequest.method = 'POST';
httpRequest.body = JSON.stringify(post_body);
AWS.config.credentials.get(err => {
const signer = new AWS.Signers.V4(httpRequest, "appsync", true);
signer.addAuthorization(AWS.config.credentials, AWS.util.date.getDate());
const options = {
method: httpRequest.method,
body: httpRequest.body,
headers: httpRequest.headers
};
fetch(uri.href, options)
// ... more code here
Я использовал его в качестве шаблона для всех моих коммуникаций Lambda-> AppSync!