Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Serverless Integrations
    • Все инструкции
        • Отправить события напрямую
        • Отправить события с помощью коннектора
    • Просмотр операций с ресурсами сервиса
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Публичные материалы
  • История изменений
  1. Пошаговые инструкции
  2. EventRouter
  3. Отправка событий в шину
  4. Отправить события напрямую

Отправить события в шину напрямую

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 2 июля 2025 г.

Примечание

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

Чтобы отправить события в шину напрямую:

Консоль управления
CLI
API
  1. В консоли управления перейдите в каталог, в котором находится нужная шина.
  2. В списке сервисов выберите Serverless Integrations.
  3. На панели слева выберите EventRouter.
  4. Выберите нужную шину.
  5. На панели сверху нажмите кнопку Отправить событие.
  6. В открывшемся окне введите отправляемое в шину событие в формате JSON. Например: {"name": "value"}.
  7. Нажмите кнопку Отправить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для непосредственной отправки событий в шину:

    yc serverless eventrouter put-event --help
    
  2. Получите список шин:

    yc serverless eventrouter bus list
    

    Результат:

    +----------------------+------------------+----------------------+--------+---------------------+
    |          ID          |       NAME       |      FOLDER ID       | STATUS | DELETION PROTECTION |
    +----------------------+------------------+----------------------+--------+---------------------+
    | f6676a9ti657******** | my-new-bus-17    | b1g681qpemb4******** | ACTIVE | false               |
    | f66aevm4ithv******** | my-favourite-bus | b1g681qpemb4******** | ACTIVE | true                |
    | f66m2q222n92******** | my-bus-42        | b1g681qpemb4******** | ACTIVE | false               |
    +----------------------+------------------+----------------------+--------+---------------------+
    
  3. Отправьте событие в выбранную шину:

    yc serverless eventrouter put-event \
      --name <имя_шины> \
      --event '<событие>' \
      --file <путь_к_файлу>
    

    Где:

    • --name — имя шины, в которую вы передаете событие.

      Вместо имени шины вы можете передать в команде ее идентификатор в параметре --id.

    • --event — отправляемое событие в формате JSON. Например: {"name": "value"}.

    • --file — путь к файлу, в котором содержится отправляемое в шину событие в формате JSON.

    Параметры --event и --file — взаимоисключающие, можно использовать только один из них.

Чтобы отправить событие в шину напрямую, воспользуйтесь вызовом gRPC API EventService/Put:

  1. Если у вас не установлена утилита gRPCurl, установите ее.

  2. Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

  3. Получите IAM-токен для аутентификации в API.

    IAM_TOKEN=$(yc iam create-token)
    

    Команда сохранит полученный IAM-токен в переменную IAM_TOKEN.

  4. Получите список шин:

    yc serverless eventrouter bus list
    

    Результат:

    +----------------------+------------------+----------------------+--------+---------------------+
    |          ID          |       NAME       |      FOLDER ID       | STATUS | DELETION PROTECTION |
    +----------------------+------------------+----------------------+--------+---------------------+
    | f6676a9ti657******** | my-new-bus-17    | b1g681qpemb4******** | ACTIVE | false               |
    | f66aevm4ithv******** | my-favourite-bus | b1g681qpemb4******** | ACTIVE | true                |
    | f66m2q222n92******** | my-bus-42        | b1g681qpemb4******** | ACTIVE | false               |
    +----------------------+------------------+----------------------+--------+---------------------+
    
  5. Создайте файл с телом запроса (например, body.json):

    {
      "bus_id": "<идентификатор_шины>",
      "body": "<событие>"
    }
    

    Где:

    • bus_id — идентификатор шины, в которую вы отправляете событие.
    • body — отправляемое событие в формате JSON. Например: {'name': 'value'}.
  6. Выполните gRPC-вызов, указав путь к созданному ранее файлу body.json:

    grpcurl \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d @ < body.json \
      events.eventrouter.serverless.yandexcloud.net:443 yandex.cloud.serverless.eventrouter.v1.EventService/Put
    

Была ли статья полезна?

Предыдущая
Удалить шину
Следующая
Отправить события с помощью коннектора
Проект Яндекса
© 2025 ООО «Яндекс.Облако»