![](/img/trans.png)
[英]How do I query a GraphQl endpoint from node js without clunky string manipulation?
[英]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.