Моя цель - составить белый список запросов с использованием плагина Apollo GraphQL, описанного здесь:
https://www.apollographql.com/docs/graph-manager/operation-registry/
Следуя шагам, которые я успешно продвинул, используя свой сервис:
npx apollo service:push \
--key <mykey> \
--endpoint http://localhost:4000
✔ Загрузка проекта Apollo ✔ Загрузка службы в Apollo Graph Manager
No change in schema from previous version
╔════════╤════════════════════════════╤═════════╗
║ id │ graph │ tag ║
╟────────┼────────────────────────────┼─────────╢
║ 7c2508 │name-graphql-server-dev │ current ║
Я проверил на менеджере apollo, что он действительно зарегистрирован.
Тогда я пу sh служба использует следующую команду, описанную в руководстве:
npx apollo client:push \
--key <mykey> \
--clientName sam-name-whitelist-test \
--includes="/Users/sam.mahagna/client_code_react/ou-react-clients/name-shared/gql-tags/authentication.ts"
›
Warning: apollo update available from 2.25.0 to 2.27.0.
✔ Loading Apollo Project
✔ Extracted 6 operations from client, sam-name-whitelist-test
✔ Checked operations against name-graphql-server-dev@current
✔ Successfully pushed 5 operations to the operation registry
╔════════╤═══════════════════════╗
║ Status │ Operation Name ║
╟────────┼───────────────────────╢
║ ADDED │ login ║
╟────────┼───────────────────────╢
║ ADDED │ logout ║
╟────────┼───────────────────────╢
║ ADDED │ signup ║
╟────────┼───────────────────────╢
║ ADDED │ GetFederatedLoginInfo ║
╟────────┼───────────────────────╢
║ ADDED │ FederartedLogin ║
Поэтому я ожидаю, что смогу использовать вновь созданный манифест. Но когда я добавляю плагин в конфигурацию своего сервера следующим образом:
const server = new ApolloServer({
typeDefs,
resolvers,
introspection: true,
context(req, res) {
return {
req,
BASE_URL,
API_BASE_URL,
auth_header: authFromRequest(req),
cors: false
}
},
engine: {
apiKey: APOLLO_ENGINE_KEY
},
plugins: [
require('apollo-server-plugin-operation-registry')({
forbidUnregisteredOperations: false,
debug: false,
dryRun: false
})
],
subscriptions: false
})
Мой сервер отвечает следующей ошибкой, утверждая, что я не могу получить манифест:
Я выделил важные биты ниже.
$ nodemon --exe c ts-node src / index.ts [nodemon] 1.17.1 [nodemon], чтобы перезапустить в любое время, введите rs
[nodemon] наблюдения : . [nodemon] запуск ts-node src/index.ts
[DEBUG] Вторник, 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation- registry [DRYRUN] Журнал регистрации операций включен, поскольку options.dryRun имеет значение true. Сервер работает ⚡ на локальном хосте: 4000 [DEBUG] Вторник, 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Инициализация плагина реестра операций. [DEBUG] Вт 21 апр. 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Операционный реестр настроен для 'name-graphql-server'. Хэш схемы: 7c2508ecc9d0f48c0736419ebff11c31f2b825c267a48e8ac1f02547c4d7dfd727c88324c5f901e511b263ca53a592510953d2b1b22305841ae60c65ba9b4c3. [DEBUG] Вт 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Агент инициализации реестра операций ... [DEBUG] Вторник 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Агент запуска операции запуска ... [DEBUG] Вторник, 21 апреля 2020 11:43:15 GMT- 0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Проверка хранилищаSecret [ОТМЕТКА] Вторник, 21 апреля 2020 11:43:15 GMT-0700 (Pacific Daylight Time) apollo-server: apollo -server-plugin-operation-registry Проверка изменений манифеста в https://storage.googleapis.com/engine-op-manifest-storage-prod/name-graphql-server/e2af5061-2122-4b33-9f20-27c38ff6b89d/current/manifest.v2.json [WARN] Вт 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Дневное время) apollo- сервер: apollo-server-plugin-operation-registry Не найдено манифеста для тега "current" в https://storage.googleapis.com/engine-op-manifest-storage-prod/name-graphql-server/e2af5061-2122-4b33-9f20-27c38ff6b89d/current/manifest.v2.json. Убедитесь, что схема этого сервера опубликована с помощью «apollo service: pu sh» и что операции зарегистрированы с «apollo client: pu sh». [DEBUG] Вт 21 апреля 2020 11:43:15 GMT-0700 (Pacific Daylight Time) apollo-server: apollo-server-plugin-operation-registry Извлечение устаревшего манифеста. [DEBUG] Вт 21 апр. 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Проверка изменений манифеста в https://storage.googleapis.com/engine-op-manifest-storage-prod/6bc2e72b26baa08de1404814a50cf9fedbc0195754be9a1283bbaf7ccf9b19350c02449de9a80288bb509261fc211e3eb7e8b98074814230dc1890681221598e/7c2508ecc9d0f48c0736419ebff11c31f2b825c267a48e8ac1f02547c4d7dfd727c88324c5f901e511b263ca53a592510953d2b1b22305841ae60c65ba9b4c3b.v2.json Не удалось получить манифест операции. Повторные попытки будут продолжаться, но запросы будут запрещены, пока не будет получен манифест. Невозможно получить манифест операции для 7c2508ecc9d0f48c0736419ebff11c31f2b825c267a48e8ac1f02547c4d7dfd727c88324c5f901e511b263ca53a592510953d2b1b2230589-bb имя_байба Убедитесь, что схема этого сервера опубликована с помощью «apollo service: pu sh» и что операции зарегистрированы с «apollo client: pu sh».
Я запутался, потому что Я только что выполнил оба этих шага. Я