繁体   English   中英

Lambda函数用于查询GraphQL端点?

[英]Lambda functions to query the GraphQL endpoint?

如何使用Lambda函数查询Node.js中的GraphQL端点(AppSync)? 我应该使用哪个GraphQL客户端?

我见过AWS AppSync JavaScript SDK,它似乎适用于移动应用或反应/前端。

PS:我不是在谈论AWS Lambda Resolvers。

我们使用一个简单的https包来查询graphql。 在这种情况下,您可能需要手动形成所有graphql查询。 如果您想使用自动发现和查询对象,您可以使用apollo-fetch客户端。 简单的CURL也适用。

这里详细提到了所有方法。

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

希望能帮助到你。

如果您使用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的权限)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM