带Lambda的Graphql瑜伽游乐场 - "服务器无法联系到"

red*_* 87 9 javascript node.js aws-lambda graphql

我正在使用servlerless/lambda设置graphql端点,并且在尝试连接到graphql-yoga附带的graphql playground时收到错误.当我去我的路线有操场(/playground)它启动操场界面,但它只是说:

无法访问服务器

在操场的右上角.值得注意的是我正在使用该makeRemoteExecutableSchema实用程序代理另一个graphql端点(这是我的CMS称为Prismic).我不相信这是问题,因为我在普通快递服务器上测试时已成功连接到操场.

这是我的handler.js中的代码

'use strict';

const { makeRemoteExecutableSchema } = require('graphql-tools');
const { PrismicLink } = require("apollo-link-prismic");
const { introspectSchema } = require('graphql-tools');
const { ACCESS_TOKEN, CMS_URL } = process.env;
const { GraphQLServerLambda } = require('graphql-yoga')

const lambda = async () => {
  const link = PrismicLink({
    uri: CMS_URL,
    accessToken: ACCESS_TOKEN
  });

  const schema = await introspectSchema(link);

  const executableSchema = makeRemoteExecutableSchema({
    schema,
    link,
  });

  return new GraphQLServerLambda({ 
    schema: executableSchema,
    context: req => ({ ...req })
  });
}

exports.playground = async (event, context, callback) => {
  context.callbackWaitsForEmptyEventLoop = false;
  const graphQl = await lambda();
  return graphQl.playgroundHandler(event, context, callback);
};
Run Code Online (Sandbox Code Playgroud)

我已经按照这个指南让它运行到这里,我相当确定我已经遵循了类似的步骤,适用于我正在尝试做什么,但似乎无法弄清楚我哪里出错了.

谢谢,

Sim*_*007 0

您能看一下您使用的 graphql-yoga 软件包是什么版本吗?

我在使用 Apollo 服务器与 Kentico Cloud Headless CMS 时遇到了类似的问题,我发现了这个问题: