Отправить события в шину с помощью коннектора
Таймер
Чтобы отправить события в шину через коннектор с типом источника таймер, укажите необходимые данные в настройках коннектора — они будут отправлены в шину, когда сработает таймер.
Коннектор для API EventRouter
Примечание
Отправлять события в шину с помощью коннектора для API EventRouter можно только, если к ней привязано хотя бы одно правило.
Чтобы отправить события в шину через коннектор с типом источника API EventRouter:
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды CLI для отправки событий в шину с помощью коннектора для API EventRouter:
yc serverless eventrouter send-event --help -
Получите список коннекторов:
yc serverless eventrouter connector listРезультат:
+----------------------+-----------------------+----------------------+----------------------+---------+---------------------+ | ID | NAME | BUS ID | FOLDER ID | STATUS | DELETION PROTECTION | +----------------------+-----------------------+----------------------+----------------------+---------+---------------------+ | f66g4h59ih2g******** | connector-my-ydb-flow | f66qn4p7uk6p******** | b1g681qpemb4******** | STOPPED | true | | f66g6jcnc5no******** | yds-via-cli | f66qn4p7uk6p******** | b1g681qpemb4******** | RUNNING | false | | f66jfhcg1u71******** | mq-via-terraform | f66qn4p7uk6p******** | b1g681qpemb4******** | RUNNING | false | +----------------------+-----------------------+----------------------+----------------------+---------+---------------------+ -
Отправьте событие в шину с помощью выбранного коннектора:
yc serverless eventrouter send-event \ --name <имя_коннектора> \ --event '<событие>' \ --file <путь_к_файлу>Где:
-
--name— имя коннектора, с помощью которого вы передаете событие в шину.Вместо имени коннектора вы можете передать в команде его идентификатор в параметре
--id. -
--event— отправляемое событие в формате JSON . Например:{"name": "value"}. -
--file— путь к файлу, в котором содержится отправляемое событие или группа событий в формате JSON.С помощью параметра
--fileвы можете отправить в шину как одно, так и одновременно несколько событий, передав их в команду в форме JSON-массива. Например:[{"name1": "value1"},{"name2": "value2"}].
Параметры
--eventи--file— взаимоисключающие, можно использовать только один из них. -
Чтобы отправить событие в шину с помощью коннектора для API EventRouter, воспользуйтесь вызовом gRPC API EventService/Send:
-
Если у вас не установлена утилита gRPCurl, установите
ее. -
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
-
Получите IAM-токен для аутентификации в API.
IAM_TOKEN=$(yc iam create-token)Команда сохранит полученный IAM-токен в переменную
IAM_TOKEN. -
Получите список коннекторов:
yc serverless eventrouter connector listРезультат:
+----------------------+-----------------------+----------------------+----------------------+---------+---------------------+ | ID | NAME | BUS ID | FOLDER ID | STATUS | DELETION PROTECTION | +----------------------+-----------------------+----------------------+----------------------+---------+---------------------+ | f66g4h59ih2g******** | connector-my-ydb-flow | f66qn4p7uk6p******** | b1g681qpemb4******** | STOPPED | true | | f66g6jcnc5no******** | yds-via-cli | f66qn4p7uk6p******** | b1g681qpemb4******** | RUNNING | false | | f66jfhcg1u71******** | mq-via-terraform | f66qn4p7uk6p******** | b1g681qpemb4******** | RUNNING | false | +----------------------+-----------------------+----------------------+----------------------+---------+---------------------+ -
Создайте файл с телом запроса (например,
body.json):{ "connector_id": "<идентификатор_коннектора>", "message": <событие_или_массив_событий> }Где:
-
connector_id— идентификатор коннектора, с помощью которого вы передаете событие в шину. -
message— отправляемое событие в формате JSON . Например:"{\"name\": \"value\"}".Вы можете отправить в шину как одно, так и одновременно несколько событий, передав их в поле
messageв форме JSON-массива. Например:["{\"name1\": \"value1\"}","{\"name2\": \"value2\"}"].
-
-
Выполните 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/Send
Коннектор для Yandex Data Streams
Через коннектор с типом источника Yandex Data Streams события в шину поступают из потока данных.
Коннектор для Yandex Message Queue
Через коннектор с типом источника Yandex Message Queue события в шину поступают из очереди сообщений.