Graphql Yoga Playground с Lambda - «Сервер недоступен»

Я устанавливаю конечную точку graphql с помощью servlerless / lambda и получаю сообщение об ошибке при попытке подключиться к игровой площадке graphql, которая поставляется с graphql-yoga. Когда я перехожу на свой маршрут с детской площадкой (/playground), он запускает интерфейс игровой площадки, но просто говорит:

Server cannot be reached

В правом верхнем углу детской площадки. Стоит отметить, что я использую утилиту 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);
};

Я следовал руководству это по его запуску до этого момента и почти уверен, что выполнил аналогичные шаги в отношении того, что относится к тому, что я пытаюсь сделать, но не могу понять, где я ошибся.

Спасибо,

Вы должны проверить вкладку сети в Chrome Dev Tools, чтобы увидеть HTTP-запрос, который он запускает к вашей конечной точке graphql. Надеюсь, он расскажет вам больше об ошибке, и если вы опубликуете ее здесь, кто-то сможет помочь.

Noel Llevares 11.01.2019 14:54

В руководстве, которое вы используете, не говорится о разрешениях. Вы настроили разрешения для лямбда-выражения, чтобы разрешать сетевые запросы?

itaintme 11.01.2019 15:41
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
12
2
1 027
1

Ответы 1

Не могли бы вы посмотреть, какую версию пакета graphql-yoga вы используете?

У меня была аналогичная проблема с использованием сервера Apollo в сочетании с Kentico Cloud Headless CMS, и я обнаружил эту проблему:

Я также столкнулся с некоторыми проблемами, которые связаны с в производственной среде игровая площадка по умолчанию отключена, и вам нужно программно включить его при создании конечной точки. А также разрешите самоанализ, чтобы игровая площадка могла загрузить определение схемы.

Simply007 16.01.2019 09:58

Другие вопросы по теме