Создание вашего первого потока

В этом вводном руководстве вы воспользуетесь редактором Ботодрома, чтобы создать свой первый поток из узлов Inject, Template и Debug.

1. Откройте редактор#

С запущенным Ботодромом, откройте редактор в браузере.

Если Ботодром запущен на вашем компьютере, тогда вы можете открыть редактор по адресу: http://localhost:8000/editor.

Если Ботодром запущен на внешнем сервере, тогда используйте адрес на его домене: https://<ДОМЕН-БОТОДРОМА>/editor.

2. Добавьте узел Inject#

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

Перетащите узел Inject из палитры узлов слева (из секции «общие») в рабочую область.

Выберите только что добавленный узел Inject, чтобы просмотреть информацию о его свойствах и описание того, что он делает, на боковой панели информации.

3. Добавьте узел Debug#

Узел Debug вызывает отображение любого сообщения, которое он получает, на боковой панели отладки. По умолчанию он отображает значение свойства msg.payload, но можно выбрать, чтобы он отображал все свойства msg-объекта сообщения.

Перетащите узел Debug из палитры узлов слева (из секции «общие») в рабочую область.

4. Соедините их вместе#

Соедините узлы Inject и Debug вместе, щелкнув по выходному порту одного узла и перетащив появившийся провод к входному порту другого.

5. Разверните поток#

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

Нажмите кнопку «Развернуть» в шапке редактора справа.

Выбрав вкладку «Отладочные сообщения» на боковой панели, щелкните по кнопке слева от узла Inject. Вы должны увидеть число на боковой панели. По умолчанию узел Inject отправляет сообщение со свойством msg.payload, в котором содержится количество миллисекунд с 1 января 1970 года.

6. Добавьте узел Template#

Узел Template позволяет генерировать текст по шаблону.

Перетащите узел Template из палитры узлов слева (из секции «Drom Utils») в рабочую область.

Удалите существующий провод, соединяющий Debug и Inject (выберите его и нажмите на клавиатуре Delete).

Подключите узел Template между узлами Inject и Debug: один провод от Inject к Template, и второй — от Template к Debug.

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

Замените текст в поле «Шаблон» на:

С 1 января 1970 года прошло {{plural payload s1='% миллисекунда' s2='% миллисекунды' s5='% миллисекунд'}}.

Нажмите «Готово», чтобы закрыть окно редактирования, а затем нажмите кнопку «Развернуть».

Теперь, когда вы нажмете кнопку вызова действия слева от узла Inject, «Отладочные сообщения» на боковой панели будут показывать текст «С 1 января 1970 года прошло ... миллисекунд», используя правильную форму слова «миллисекунда» в зависимости от числительного.


Резюме#

Этот пример демонстрирует основную концепцию создания потока в Ботодроме. Он показывает, как можно использовать узел Inject для ручной отправки сообщений в поток, и как узел Debug отображает сообщения на боковой панели. Он также показывает, как узел Template можно использовать для генерации текста, используя числовое значение полученное из предыдущего узла.

Готовый поток#

Поток, созданный в этом руководстве, представлен следующим JSON-кодом. Чтобы импортировать его к себе в редактор, скопируйте его в буфер обмена, затем выберите опцию Импортировать из > Буфер обмена из выпадающего меню в правом верхнем углу или нажмите Ctrl+I, и вставьте скопированный код в появившееся окно.

Первый поток

[
{
"id": "f60b2da8.0a2e1",
"type": "inject",
"z": "e0bb642a.901348",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 210,
"y": 160,
"wires": [
[
"f69a597b.7a1b98"
]
]
},
{
"id": "eaac0a85.4c51a8",
"type": "debug",
"z": "e0bb642a.901348",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 670,
"y": 160,
"wires": []
},
{
"id": "f69a597b.7a1b98",
"type": "drom-template",
"z": "e0bb642a.901348",
"name": "",
"field": "payload",
"fieldType": "msg",
"syntax": "handlebars",
"htmlEscape": false,
"template": "С 1 января 1970 года прошло {{plural payload s1='% миллисекунда' s2='% миллисекунды' s5='% миллисекунд'}}.",
"x": 450,
"y": 160,
"wires": [
[
"eaac0a85.4c51a8"
]
]
}
]