Лямбда-функции для запроса конечной точки GraphQL? - PullRequest
0 голосов
/ 25 мая 2019

Как я могу использовать лямбда-функции для запроса конечной точки GraphQL (AppSync) в Node.js?Какой клиент GraphQL мне использовать?

Я видел AWS AppSync JavaScript SDK, который, кажется, предназначен для мобильного приложения или реагирует / веб-интерфейс.

PS: я не говорюо лямбда-резольверах AWS.

Ответы [ 2 ]

0 голосов
/ 26 мая 2019

Если вы используете AWS_IAM или AMAZON_COGNITO_USER_POOLS в качестве типа аутентификации, я думаю, что AWS AppSync JavaScript SDK - большая помощь, вам просто нужно настроить свой код, как описано здесь :

"use strict";
/**
* This shows how to use standard Apollo client on Node.js
*/

global.WebSocket = require('ws');
require('es6-promise').polyfill();
require('isomorphic-fetch');

// Require exports file with endpoint and auth info
const aws_exports = require('./aws-exports').default;

// Require AppSync module
const AUTH_TYPE = require('aws-appsync/lib/link/auth-link').AUTH_TYPE;
const AWSAppSyncClient = require('aws-appsync').default;

...

Кроме того, вы должны предоставить учетные данные

const AWS = require('aws-sdk');
AWS.config.update({
    region: aws_exports.REGION,
    credentials: new AWS.Credentials({
        accessKeyId: aws_exports.AWS_ACCESS_KEY_ID,
        secretAccessKey: aws_exports.AWS_SECRET_ACCESS_KEY
    })
});
const credentials = AWS.config.credentials;

или просто получить учетные данные сеанса Lambda (не забудьте разрешить Lambda выполнять GraphQL API).

0 голосов
/ 25 мая 2019

Мы используем простой пакет https для запроса graphql. В этом случае вам может потребоваться сформировать все запросы graphql вручную. Если вы хотите использовать автоматическое обнаружение и запрос объектов, вы можете получить клиенты apollo-fetch. Простой CURL тоже работает.

Все методы подробно описаны здесь.

https://blog.apollographql.com/4-simple-ways-to-call-a-graphql-api-a6807bcdb355

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...