AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
Все компоненты, помимо специфических параметров также содержат общие параметры и параметры сохранения результата, описанные в [[Базовые компоненты и логика построения сценариев|предыдущей статье курса]]. | Все компоненты, помимо специфических параметров также содержат общие параметры и параметры сохранения результата, описанные в [[Базовые компоненты и логика построения сценариев|предыдущей статье курса]]. | ||
Детальная техническая информация о компонентах доступна на [https://vendor.era-platform.ru/docs/era/latest/scripts/component_types/common/index.html портале Vendor]. | |||
= Описания компонентов = | = Описания компонентов = | ||
Строка 247: | Строка 250: | ||
|<code>Код ошибки</code> | |<code>Код ошибки</code> | ||
|Переменная для сохранения кода ошибки. | |Переменная для сохранения кода ошибки. | ||
|} | |||
WEB-запрос | |||
[[Файл:Компонент WEB-запрос.png|центр|безрамки|569x569пкс]] | |||
Позволяет выполнять HTTP- и HTTPS- запросы к web-сервисам по произвольному URL. | |||
Поддерживает HTTP-методы GET, POST, PUT, HEAD, DELETE с контентом и без. Поддерживает отправку асинхронных запросов и запросов с ожиданием ответов. | |||
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код HTTP. | |||
Компонент поддерживает работу в сессиях, сохраняя и используя cookie, а также HTTPS и подтверждение сертификатов. | |||
Фактическая отправка запроса может производиться как с сервера, на котором работает текущий обработчик сценария, так и с пограничных серверов системы «Era». | |||
В ряде случаев может быть заменено выполнением "curl" запроса через командную строку (компонент Запуск процесса). | |||
{| class="wikitable" | |||
|+Свойства компонента | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>Прокси</code> | |||
|Выключатель использования прокси-сервера. | |||
|- | |||
|<code>Аутентификация в прокси</code> | |||
|Выключатель прокси-аутентификации. | |||
|- | |||
|<code>Логин прокси</code> | |||
|Логин к прокси-серверу. | |||
|- | |||
|<code>Пароль прокси</code> | |||
|Пароль к прокси-серверу. | |||
|- | |||
|<code>Адрес прокси</code> | |||
|Адрес прокси-сервера. | |||
|- | |||
|<code>Порт прокси</code> | |||
|Порт прокси-сервера. | |||
|- | |||
|<code>Макс. перенаправлений</code> | |||
|Ограничение на максимальное число перенаправлений. Значение для HTTP-заголовка <code>Max-Forwards</code>. | |||
|- | |||
|<code>URL</code> | |||
|URL запроса. Должен содержать схему (например, <code>http://</code>). | |||
|- | |||
|<code>Источник запроса</code> | |||
|Адрес сервера, с которого необходимо отправить запрос. | |||
По умолчанию запрос отправляется с сервера, где обработчик выполняет сценарий. | |||
Возможные форматы указания: | |||
* <code>NodeName</code> | |||
* <code>NodeName:Iface</code> | |||
* <code>NodeName@NodeAddr</code> | |||
* <code>NodeName@NodeAddr:Iface</code> | |||
* <code>RoleId</code> | |||
* <code>RoleId:Iface</code> | |||
* <code>RoleName</code> | |||
* <code>RoleName:Iface</code> | |||
где | |||
* <code>NodeName</code> – короткое имя ноды в ее полном имени (<code>abc002@192.168.0.12</code>); | |||
* <code>NodeAddr</code> – адрес ноды в ее полном имени; | |||
* <code>RoleId</code> – идентификатор роли в конфигурации, по роли определяется нода; | |||
* <code>RoleName</code> – название роли в конфигурации, по роли определяется нода; | |||
* <code>Iface</code> – адрес сетевого интерфейса на сервере. | |||
При отсутствии ноды/роли, любом некорректном задании имени, отправка производится с сервера, где обработчик выполняет сценарий. | |||
При отсутствии или некорректном задании адреса сетевого интерфейса сервера отправителя отправка произойдет с адреса ноды отправителя. | |||
|- | |||
|<code>Метод</code> | |||
|Возможные варианты: | |||
* <code>POST</code> (<code>post</code>, <code>0</code>) | |||
* <code>GET</code> (<code>get</code>, <code>1</code>) | |||
* <code>PUT</code> (<code>put</code>, <code>2</code>) | |||
* <code>HEAD</code> (<code>head</code>, <code>3</code>) | |||
* <code>DELETE</code> (<code>delete</code>, <code>4</code>) | |||
* <code>PATCH</code> (<code>patch</code>, <code>5</code>) | |||
* <code>TRACE</code> (<code>trace</code>, <code>6</code>) | |||
* <code>OPTIONS</code> (<code>options</code>, <code>7</code>) | |||
|- | |||
|Название: <code>Тип контента</code> | |||
Код: <code>contentType</code> | |||
Усл. видимости: <code>да</code> | |||
По умолчанию: <code>"application/x-www-form-urlencoded"</code> | |||
|Значение для HTTP-заголовка <code>Content-Type</code>. | |||
|- | |||
|<code>Тело запроса</code> | |||
|Содержание тела HTTP-запроса. | |||
|- | |||
|<code>Кодировка запроса</code> | |||
|Кодировка, с помощью которой производится преобразование тела запроса из строкового представления к бинарному виду перед отправкой. | |||
Возможные варианты: | |||
* <code>unicode</code> (<code>0</code>) | |||
* <code>utf-8</code> (<code>1</code>) | |||
* <code>utf-7</code> (<code>2</code>) | |||
* <code>cp1251</code> (<code>3</code>) – Кодовая страница <code>windows-1251</code> (кириллица) | |||
* <code>Указать название</code> (<code>byname</code>, <code>4</code>) – Задать название кодировки вручную. | |||
|- | |||
|<code>Название кодировки запроса</code> | |||
|Название кодировки для тела запроса, заданное вручную. | |||
|- | |||
|<code>Базовая аутентификация</code> | |||
|Выключатель базовой аутентификации. | |||
|- | |||
|<code>Логин</code> | |||
|Логин для базовой аутентификации. | |||
|- | |||
|<code>Пароль</code> | |||
|Пароль для базовой аутентификации. | |||
|- | |||
|<code>Заголовки</code> | |||
|Подставляемые в запрос дополнительные HTTP-заголовки. Аргумент содержит мультистрочное значение, формат каждой из строк: <code>HeaderName: HeaderValue</code>. | |||
|- | |||
|<code>Куки</code> | |||
|Подставляемые в запрос дополнительные COOKIE. Аргумент содержит мультистрочное значение, формат каждой из строк: <code>Key=Value</code>. | |||
|- | |||
|<code>Режим</code> | |||
|Режим работы компонента после отправки запроса. | |||
Возможные варианты: | |||
* <code>Ожидание результата</code> (<code>0</code>) – Ожидание ответа вплоть до завершения сценария. | |||
* <code>Асинхронный запуск</code> (<code>1</code>) – Управление сразу передается следующему компоненту. | |||
* <code>Обрыв по таймауту</code> (<code>2</code>) – Ожидание ответа в течение установленного времени, по истечению которого HTTP-подключение разрывается и управление передается следующему компоненту. | |||
* <code>Выход по таймауту</code> (<code>3</code>) – Ожидание ответа в течение установленного времени, по истечению которого управление передается следующему компоненту без разрыва подключения и прерывания процесса отправки. | |||
|- | |||
|<code>Время, с</code> | |||
|Таймаут ожидания ответа на отправленный HTTP-запрос. | |||
|- | |||
|<code>Код ответа</code> | |||
|Переменная для сохранения кода HTTP-ответа. Не заполняется, если запрос не отвечен. | |||
Если запрос завершен ответом 3xx то инициируется новый переадресованный запрос и код ответа 3хх в дальнейшем перезаписывается. | |||
|- | |||
|<code>Заголовки ответа</code> | |||
|Переменная для сохранения заголовков HTTP-ответа. | |||
Не заполняется, если запрос не отвечен. | |||
Если запрос завершен ответом 3xx, то инициируется новый переадресованный запрос, и заголовки в дальнейшем перезаписываются. | |||
|- | |||
|<code>Ответ</code> | |||
|Переменная для сохранения тела HTTP-ответа. | |||
Не заполняется, если запрос не отвечен. | |||
Если запрос завершен ответом 3xx, то инициируется новый переадресованный запрос, и тело в дальнейшем перезаписываются. | |||
|- | |||
|<code>Кодировка ответа</code> | |||
|Кодировка, в которой находится тело HTTP-ответа. Используется для преобразования к строковому представлению в переменной сценария. | |||
Возможные варианты: | |||
* <code>Авто из заголовка</code> (<code>autoheader</code>, <code>5</code>) | |||
* <code>Авто из тела</code> (<code>autometaheader</code>, <code>6</code>) | |||
* <code>unicode</code> (<code>0</code>) | |||
* <code>utf-8</code> (<code>1</code>) | |||
* <code>utf-7</code> (<code>2</code>) | |||
* <code>cp1251</code> (<code>3</code>) – Кодовая страница <code>windows-1251</code> (кириллица) | |||
* <code>Указать название</code> (<code>byname</code>, <code>4</code>) – Задать название кодировки вручную. | |||
|- | |||
|<code>Название кодировки ответа</code> | |||
|Название кодировки для тела ответа, заданное вручную. | |||
|} | |} | ||
Версия от 10:44, 24 февраля 2025
Предыдущая статья курса: Базовые компоненты и логика построения сценариев
Общая информация
Для выполнения работы с данными и осуществления сложных операций, в платформе Эра предусмотрен специальный набор компонентов служебных сценариев.
Данные компоненты не связанны друг с другом и реализуют различные механизмы взаимодействия с модулями системы и внешними системами.
Все компоненты, помимо специфических параметров также содержат общие параметры и параметры сохранения результата, описанные в предыдущей статье курса.
Детальная техническая информация о компонентах доступна на портале Vendor.
Описания компонентов
Файловая операция

Производит указанную операцию ввода-вывода на диске. Работает с файлами, каталогами, путями.
Компонент имеет дополнительные переходы по ошибкам доступа к файлам.
Свойство | Описание |
---|---|
Тип объекта
|
Определяет тип объекта, над которым производится файловая операция.
Возможные значения:
|
Операция
|
Операция со строковым представлением пути.
Возможные значения:
|
Операция
|
Операция с файлом.
Возможные значения:
|
Операция
|
Операция с каталогом.
Возможные значения:
|
Операция
|
Операция с содержимым файла.
Возможные значения:
Все операции с содержимым используют указанную кодировку для преобразования из строки в бинарный вид. |
Путь
|
Аргумент, содержащий путь. |
Отрезать расширение
|
Переключатель режима возврата файла без расширения. |
Категория каталога
|
Категория каталога, с использованием которой путь становится доступным для применения в операциях ввода-вывода.
Возможные значения:
|
Относительный путь
|
Аргумент, содержащий относительный путь. |
Имя файла
|
Аргумент, содержащий название файла. |
Расширение
|
Аргумент, содержащий расширение файла. |
Путь источника
|
Аргумент, содержащий путь источника. |
Путь назначения
|
Аргумент, содержащий путь назначения. |
Хеш-функция
|
Хеш-функция для применения к содержимому файла. |
Содержимое
|
Аргумент с содержимым файла. |
Кодировка
|
Кодировка для применения к содержимому файла при считывании в переменную и наоборот.
Возможные значения:
|
BOM
|
Режим считывания содержания файла с учетом префикса кодировки для UTF.
Возможные варианты:
|
Endian
|
Режим раскладки кодировки unicode.
Возможные варианты:
|
Название кодировки
|
Аргумент, содержащий имя применяемой кодировки. |
SQL-Запрос

Позволяет производить действия в БД, а также передавать параметры (на вход и на выход).
В качестве параметров выступают переменные сценария.
Подключение к серверу БД осуществляется по строке подключения. Обращение к БД происходит через ODBC и требует наличия в ОС соответствующих драйверов.
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.
Возврат значений из БД происходит в табличном виде. Сохранение значений в переменные осуществляется по принципу идентичности имен столбцов в последнем из вернувшихся датасетов и переменных сценария. Переменным присваиваются значения из последней строки последнего датасета.
Свойства | Описание |
---|---|
База Данных
|
БД для подключения.
Возможные варианты:
|
Драйвер
|
Возможные варианты:
Для режима указания БД |
Строка соединения
|
Строка подключения к БД.
Для режима указания БД Пример для odbc драйвера Driver={SQL Server Native Client 11.0}; Server=192.168.0.73,14350; Database=testbase; UID=test; PWD=123; Пример для psql драйвера Driver={PostgreSQL Unicode(x64)}; Server=127.0.0.1; Port=5433; Database=era_dummy_central_common; Uid=platformpgadmin; Pwd=123456; или аналогично формату в конфигурации: host:127.0.0.1,port:5432,login:platformpgadmin,pwd:123456,database:postgres |
Время, с
|
Таймаут на выполнение запроса к БД. |
Запрос
|
Тело SQL-запроса.
Пример для ODBC: INSERT INTO EMPLOYEE (NR, FIRSTNAME, LASTNAME, GENDER) VALUES (?, ?, ?, ?) Пример для PSQL: SELECT name as a, birthdate::varchar as b,Where id = $1 or code = $2 Если запрос возвращает таблицу значений из нескольких строк, то в переменные сохраняется произвольная строка. При этом сопоставление значений производится по именам столбцов в датасете выдачи и переменных. Возвращаемые специальные значения null, true, false преобразуются в строковое представление при сохранении в переменные сценария. |
Параметры запроса
|
Списочное значение, устанавливающее параметры для запроса.
Порядок параметров строго соответствует порядку применения параметров в запросе. |
Кодировка
|
Кодировка, в которой следует сохранить строковые значения в переменных.
Возможные варианты:
|
Код ошибки
|
Переменная для сохранения кода ошибки. |
WEB-запрос

Позволяет выполнять HTTP- и HTTPS- запросы к web-сервисам по произвольному URL.
Поддерживает HTTP-методы GET, POST, PUT, HEAD, DELETE с контентом и без. Поддерживает отправку асинхронных запросов и запросов с ожиданием ответов.
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код HTTP.
Компонент поддерживает работу в сессиях, сохраняя и используя cookie, а также HTTPS и подтверждение сертификатов.
Фактическая отправка запроса может производиться как с сервера, на котором работает текущий обработчик сценария, так и с пограничных серверов системы «Era».
В ряде случаев может быть заменено выполнением "curl" запроса через командную строку (компонент Запуск процесса).
Свойство | Описание |
---|---|
Прокси
|
Выключатель использования прокси-сервера. |
Аутентификация в прокси
|
Выключатель прокси-аутентификации. |
Логин прокси
|
Логин к прокси-серверу. |
Пароль прокси
|
Пароль к прокси-серверу. |
Адрес прокси
|
Адрес прокси-сервера. |
Порт прокси
|
Порт прокси-сервера. |
Макс. перенаправлений
|
Ограничение на максимальное число перенаправлений. Значение для HTTP-заголовка Max-Forwards .
|
URL
|
URL запроса. Должен содержать схему (например, http:// ).
|
Источник запроса
|
Адрес сервера, с которого необходимо отправить запрос.
По умолчанию запрос отправляется с сервера, где обработчик выполняет сценарий. Возможные форматы указания:
где
При отсутствии ноды/роли, любом некорректном задании имени, отправка производится с сервера, где обработчик выполняет сценарий. При отсутствии или некорректном задании адреса сетевого интерфейса сервера отправителя отправка произойдет с адреса ноды отправителя. |
Метод
|
Возможные варианты:
|
Название: Тип контента
Код: Усл. видимости: По умолчанию: |
Значение для HTTP-заголовка Content-Type .
|
Тело запроса
|
Содержание тела HTTP-запроса. |
Кодировка запроса
|
Кодировка, с помощью которой производится преобразование тела запроса из строкового представления к бинарному виду перед отправкой.
Возможные варианты:
|
Название кодировки запроса
|
Название кодировки для тела запроса, заданное вручную. |
Базовая аутентификация
|
Выключатель базовой аутентификации. |
Логин
|
Логин для базовой аутентификации. |
Пароль
|
Пароль для базовой аутентификации. |
Заголовки
|
Подставляемые в запрос дополнительные HTTP-заголовки. Аргумент содержит мультистрочное значение, формат каждой из строк: HeaderName: HeaderValue .
|
Куки
|
Подставляемые в запрос дополнительные COOKIE. Аргумент содержит мультистрочное значение, формат каждой из строк: Key=Value .
|
Режим
|
Режим работы компонента после отправки запроса.
Возможные варианты:
|
Время, с
|
Таймаут ожидания ответа на отправленный HTTP-запрос. |
Код ответа
|
Переменная для сохранения кода HTTP-ответа. Не заполняется, если запрос не отвечен.
Если запрос завершен ответом 3xx то инициируется новый переадресованный запрос и код ответа 3хх в дальнейшем перезаписывается. |
Заголовки ответа
|
Переменная для сохранения заголовков HTTP-ответа.
Не заполняется, если запрос не отвечен. Если запрос завершен ответом 3xx, то инициируется новый переадресованный запрос, и заголовки в дальнейшем перезаписываются. |
Ответ
|
Переменная для сохранения тела HTTP-ответа.
Не заполняется, если запрос не отвечен. Если запрос завершен ответом 3xx, то инициируется новый переадресованный запрос, и тело в дальнейшем перезаписываются. |
Кодировка ответа
|
Кодировка, в которой находится тело HTTP-ответа. Используется для преобразования к строковому представлению в переменной сценария.
Возможные варианты:
|
Название кодировки ответа
|
Название кодировки для тела ответа, заданное вручную. |
Следующая статья курса: Запуск служебных сценариев
Предыдущая статья курса: Базовые компоненты и логика построения сценариев