Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Planirovanie zaprosov grpc i graphql s pomoschyu postman monitors beta versiya
Dev48

© 2026 · All rights reserved.

Планирование запросов gRPC и GraphQL с помощью Postman Monitors (бета-версия)

Источник: Postman Blog

Планирование запросов gRPC и GraphQL с помощью Postman Monitors (бета-версия)

Источник: Postman Blog

Postman Monitors теперь поддерживают выполнение запросов gRPC и GraphQL в бета-режиме. Узнайте, как планировать их выполнение, тестировать ответы и отправлять отзывы. Начните мониторинг уже сегодня. Статья «Планирование запросов gRPC и GraphQL с помощью Postman Monitors (бета-версия)» впервые появилась в блоге Postman.

25 сентября 2026 г.

16 сентября 2026 г.

Если вы используете сервисы gRPC или GraphQL в продакшене, вы, вероятно, сталкивались с такой проблемой: в вашей коллекции Postman запрос уже настроен с правильной аутентификацией, переменными и тестовыми скриптами, но когда вы пытаетесь запланировать его как монитор, отображаются только HTTP-запросы. В итоге вам приходится либо писать отдельную синтетическую проверку в другом инструменте, либо создавать небольшой скрипт, который запускает CLI по расписанию cron где-то на сервере. Оба варианта работают, но ни один из них не кажется идеальным.

Этот пробел заполняется. Postman Monitors теперь поддерживают выполнение запросов gRPC и GraphQL в бета-версии. Я расскажу, как запланировать вызов gRPC (включая потоковую передачу), как отслеживать GraphQL-запросы или мутации, как выглядят тестовые скрипты для каждого из них и куда отправлять отзывы, пока функция находится в разработке.

Что входит в бета-версию

Вот что охватывает текущая бета-версия:

  • Унарные вызовы gRPC — стандартный шаблон «запрос-ответ».
  • Потоковая передача gRPC от сервера к клиенту, от клиента к серверу и двунаправленная потоковая передача (с некоторыми оговорками по поводу потоков, о которых я расскажу позже).
  • GraphQL-запросы и мутации по протоколу HTTP.
  • Существующая аутентификация, переменные и тестовые скрипты, которые переносятся из вашей коллекции без необходимости переписывания.

Что еще не реализовано: GraphQL-подписки, потоковая передача от клиента с несколькими сообщениями и более продвинутые вспомогательные средства для проверки потоков. Они есть в дорожной карте.

Стоит отметить: это та же модель выполнения мониторов, которую вы уже знаете. Планировщик берет вашу коллекцию, выполняет запросы по порядку, оценивает ваши тестовые скрипты и публикует результаты. Единственное, что изменилось, — это набор протоколов, которые понимает исполнитель.

Мониторинг gRPC-вызова

Начнем с самого простого случая: унарный gRPC-вызов к пользовательскому сервису. У вас уже есть запрос в коллекции, подключенный к файлу .proto, с выбранным методом. Чтобы запланировать его, щелкните правой кнопкой мыши по коллекции, выберите «Создать монитор» (Create a monitor) и установите нужное расписание.

Для проверки ответы gRPC проходят через тот же объект pm.response, который вы используете для HTTP-тестов. Свойства просто адаптированы для gRPC:

Если статус gRPC возвращается как что-то отличное от OK, например UNAVAILABLE, DEADLINE_EXCEEDED или PERMISSION_DENIED, ваш монитор выдаст ошибку, и вы получите уведомление. Это полезное поведение по умолчанию. На практике я также проверяю структуру сообщения, потому что успешный статус с пустым телом ответа для вызывающей стороны все равно означает неисправную конечную точку.

Что касается аутентификации: если вы используете метаданные gRPC для токенов Bearer, настройте их один раз в запросе, и они будут использоваться при запуске монитора. Храните сам токен в переменной окружения монитора, а не в определении запроса.

Мониторинг потоков gRPC

Потоковая передача — это самое интересное. Потоковая передача от сервера к клиенту — это «золотая середина» в бета-версии: вы отправляете одно сообщение, сервер отправляет много, и вы можете проверять сообщения по мере их поступления.

У вас есть два варианта тестирования. Первый — это хук скрипта «On message», который выполняется для каждого сообщения, отправляемого сервером:

Второй — это проверка после завершения потока на вкладке «Tests»:

Я склоняюсь к проверкам после завершения потока именно для мониторов. Проверки каждого сообщения полезны при отладке в реальном времени в клиенте, но когда монитор выдает ошибку в 3 часа ночи, сообщение «поток вернул 2 сообщения вместо 5» является гораздо более понятным сигналом, чем 20 отдельных результатов проверок для каждого сообщения.

Важное замечание по поводу потоковой передачи от клиента и двунаправленной передачи: в настоящее время бета-версия поддерживает одно клиентское сообщение на вызов. Если ваш двунаправленный поток зависит от отправки последовательности сообщений на сервер, дождитесь обновления с поддержкой нескольких сообщений, прежде чем переносить эту проверку в монитор. Унарная передача и потоковая передача от сервера к клиенту — это пути, которые работают полноценно уже сегодня.

Мониторинг GraphQL-запросов или мутаций

GraphQL-запросы по своей сути являются HTTP-запросами, но модель сбоев в них настолько отличается, что стоит обратить на это внимание. GraphQL-сервер может вернуть статус 200 OK с телом, полным ошибок, поэтому одна лишь проверка кода состояния будет показывать успех, в то время как ваш API не работает.

Вот запрос, который я использую в качестве шаблона для мониторов GraphQL:

pm.response.data и pm.response.errors — это два свойства, которые здесь наиболее важны. Вместе они показывают, действительно ли операция прошла успешно с точки зрения клиента, что и должен проверять монитор.

Для мутации я бы также добавил проверку возвращаемой сущности, чтобы выявлять случаи, когда сервер принимает мутацию, но молча отбрасывает поля. Что-то вроде:

Подписки (subscriptions) пока не входят в бета-версию. Если вы полагаетесь на них, пока оставьте свои существующие проверки подписок без изменений.

Настройка расписания

Как только для ваших запросов будут готовы тесты, планирование выполняется так же, как и для любого другого монитора. Выберите частоту (от каждых 5 минут до еженедельной), выберите регион, если вам важно географическое покрытие, прикрепите окружение с вашими учетными данными и включите уведомления. Обычно я начинаю с 15-минутного интервала для нового монитора и сокращаю его, когда увижу неделю стабильной работы. Выполнение ресурсоемких запросов каждую минуту во время настройки быстро расходует лимиты.

Два совета из моего опыта работы с собственными сервисами:

  • Используйте выделенное окружение монитора. Не используйте повторно свое локальное окружение разработки. Создайте окружение только с теми переменными, которые нужны монитору, используйте секретные переменные для токенов и обновляйте их с той же периодичностью, с которой обновляете все остальное.
  • Держите коллекцию сфокусированной. Монитор должен проверять что-то одно: критическое чтение, мутацию для проверки работоспособности или «сердцебиение» потока. Если он выдает ошибку, вы должны точно знать, что сломалось. Коллекция из 30 запросов с одним неудачным тестом где-то посередине — это упражнение по отладке, которым вы не захотите заниматься в 3 часа ночи.

Отправка отзывов во время бета-тестирования

Это бета-версия, и команда активно прислушивается к пользователям. Если вы столкнулись с трудностями, например, хук скрипта ведет себя не так, как ожидалось, файл .proto не загружается или вам не хватает метрики в отчете о выполнении, откройте issue в репозитории postman-app-support на GitHub. Четко пометьте его (gRPC или GraphQL, Monitors) и приложите структуру коллекции и любые выходные данные об ошибках. Конкретные запросы, которые команда отметила как наиболее полезные:

  • Какие шаблоны потоковой передачи вы хотели бы видеть в следующей очереди
  • Варианты использования подписок GraphQL, которые вы бы перенесли в мониторы, если бы они были доступны
  • Вспомогательные средства для проверок, которые вы хотели бы видеть для потоковых ответов

Дорожная карта уже включает потоковую передачу от клиента с несколькими сообщениями, подписки GraphQL и более продвинутые проверки потоков, но очередность зависит от того, что на самом деле пытаются сделать пользователи.

Заключение

Коротко: если у вас был запрос gRPC или GraphQL в коллекции, который вы хотели запускать по расписанию, теперь вы можете это сделать, не переключаясь между инструментами. Унарные gRPC, потоковая передача gRPC от сервера к клиенту, а также GraphQL-запросы и мутации уже готовы. Потоковая передача от клиента с несколькими сообщениями, двунаправленная потоковая передача с несколькими сообщениями и подписки GraphQL уже в разработке.

Что мне нравится в этом релизе, так это то, что он не требует ничего переписывать. Тот же запрос, та же аутентификация, те же тестовые скрипты — теперь они просто работают по расписанию. Это правильный способ выпуска функций мониторинга.

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

Ресурсы

  • Документация по Postman Monitors: обзор принципов работы мониторов, параметров планирования и настройки уведомлений.
  • Написание тестов в Postman: справочное руководство по pm.test, pm.response и модели скриптов, используемой в мониторах gRPC и GraphQL.
  • gRPC в Postman: как работают запросы gRPC, файлы .proto и потоковая передача в клиенте Postman.
  • GraphQL в Postman: как создавать и отправлять запросы и мутации GraphQL в коллекции.
  • Проблемы postman-app-support на GitHub: место для отправки отзывов о бета-версиях, сообщений об ошибках и запросов на новые функции.
  • Официальная документация gRPC: справочная информация об унарных, серверных потоковых, клиентских потоковых и двунаправленных шаблонах RPC.
← Все статьи