Блок Работа с данными

Файловая операция

Производит указанную дисковую операцию с файлом, каталогом, путем или содержимом файла. Для разных Типов объекта доступны разные Операции и разные свойства объекта.

Файловая операция

Название

Описание

Тип объекта

Подробно описано ниже в Типы и операции работы с файлами

Операции

Путь

Аргумент, содержащий путь.

Отрезать расширение

При работе с получением файлов возможно указать вид получаемого ответа

  • Да = имя файла с расширением

  • Нет = имя файла без расширения

Категория каталога

При работе с каталогами возможно указать тип каталога. Подробнее в Типы каталогов

другие поля

В зависимости от Типа и Операции могут появляться другие однозначные поля (например, Путь источника, Путь назначения, Имя файла и т.д.). Подробно описано в Типы и операции работы с файлами

Результат в переменную

Переменная для сохранения результата операции.

Код ошибки в переменную

Переменная для сохранения кода ошибки операции.

Переход

Компонент, которому передается управление в случае успешного завершения операции. Переход по умолчанию

Переход, не найдено

Компонент, которому передается управление в случае, если объект по указанному пути отсутствует.

Переход, ошибка

Компонент, которому передается управление в случае ошибки выполнения операции.

Описание

Описание компонента

Типы и операции работы с файлами

Операции и свойства различных типов объектов

Тип объекта

Операция

Описание

Доступные свойства

Файл

Удалить

Удаление файла

• Путь

Скопировать

Копирование определенного файла по указанному пути

  • Путь источника

  • Путь назначения

Переместить

Перемещение определенного файла по указанному пути

  • Путь источника

  • Путь назначения

Переименовать

Переименование файла

  • Путь источника

  • Путь назначения

Проверить наличие

Проверка наличия файла

  • Путь

Размер

Определение размера файла в байтах

  • Путь

Хеш содержимого

Вычисление md5 подписи к файлу

  • Путь

Создать путь

Создание всех каталогов до указанного файла. Необходимо передавать с именем файла. Файл создан не будет.

  • Путь

Путь

Тип пути

Определение типа пути из строки.

  • Путь

Относительный путь

Относительный путь после типа пути.

  • Путь

Имя файла

Возвращает из пути имя файла

  • Путь

  • Отрезать расширение

– Да

– Нет

Расширение

Определение расширение файла из строки полного пути

  • Путь

Каталог

Определение каталога из строки полного пути

  • Путь

Построить путь

Создать строку пути (в результат) относительно типа каталога

  • Тип каталога

  • Относительный путь

Построить путь к файлу

Создать строку пути с именем файла и расширения

  • Путь

  • Имя файла

  • Расширение

Каталог

Создать

Создание всех каталогов из переменной, включая последний отрезок. Необходимо передавать без имени файла.

  • Путь

Удалить

Удаление каталога и его содержимого по указанному пути

  • Путь

Скопировать

Копирование каталога источника и его содержимого в каталог назначения

  • Путь источника

  • Путь назначения

Переместить

Перемещение каталога источника и его содержимого в каталог назначения

  • Путь источника

  • Путь назначения

Переименовать

Переименование каталога

  • Путь источника

  • Путь назначения

Проверить наличие

Проверка наличия указанного каталога

  • Путь

Количество файлов

Подсчет количества файлов в текущем каталоге без дочерних

  • Путь

Количество подкаталогов

Подсчет количества подкаталогов в текущем

  • Путь

Содержимое файла

Создать файл

Создание файла в указанной кодировке

  • Путь

• Кодировка

• Содержимое

Записать файл

Запись данных в указанной кодировке в файл (перезаписывает существующий файл)

  • Путь

  • Кодировка

  • Содержимое

Дописать в конец файла

Запись данных в указанной кодировке в файл (дописывает в конец если файл существующий)

  • Путь

  • Кодировка

  • Содержимое

Считать файл

Считывание содержимого файла в указной Кодировке в переменную Результат.

  • Путь

  • Кодировка

Типы каталогов

При указании каталога можно выбрать один из следующих типов:

Тип каталога

Описание

SYNC_COMMON

Каталог общих данных всех доменов в синхронизирующемся между серверами каталоге.

SYNC_DOMAIN_COMMON

Каталог общих данных домена в синхронизирующемся между серверами каталоге.

SYNC_DOMAIN_DATA

Каталог данных домена в синхронизирующемся между серверами каталоге.

SYNC_SCRIPT_DATA

Каталог данных сценария в синхронизирующемся между серверами.

SITESHARE_PUBLIC

Каталог общих данных на сетевом диске сайтового хранилища, доступного всем серверам на сайте.

SITESHARE_DOMAIN_DATA

Каталог данных домена на сетевом диске сайтового хранилища, доступного всем серверам на сайте.

SITESHARE_SCRIPT_DATA

Каталог данных сценария на сетевом диске сайтового хранилища, доступного всем серверам на сайте.

GLOBALSHARE_PUBLIC

Каталог общих данных на сетевом диске глобального хранилища, доступного всем сайтам.

GLOBALSHARE_DOMAIN_DATA

Каталог данных домена на сетевом диске глобального хранилища, доступного всем сайтам.

GLOBALSHARE_SCRIPT_DATA

Каталог данных сценария на сетевом диске глобального хранилища, доступного всем сайтам.

TEMP

Временный каталог текущего обработчика сценария. Удаляется через 5 секунд после его завершения.

SQL-запрос

Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: PSQL (Postgre SQL), ODBC.

В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения от БД.

Для PSQL параметры передаются через символ @, а для ODBC через символ соответствующего драйвера (может быть @, ?, :).

Результат записывается в переменные, которые по имени совпадают с названиями возвращаемых колонок из запроса

Название

Описание

База Данных

БД для подключения.

  • CDR – Собственная событийной потоковой БД домена.

  • Journal – Собственная журнальная БД домена.

  • Report – Собственная отчетная БД домена.

  • Другая – Другая БД.

Драйвер

(если База Данных = Другая)

  • ODBC – подключение через драйвер ODBC.

  • PSQL – одключение через внутренний адаптер к PostgreSQL.

Строка соединения

Пример для 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=r_cdr_central_common; Uid=rostellpgadmin; Pwd=123456;

Время,с

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

Запрос

Тело SQL запрос, который будет отправлен в БД.

INSERT INTO EMPLOYEE (NR, FIRSTNAME, LASTNAME, GENDER) VALUES (?, ?, ?, ?)

Параметры запроса

Списочное значение, устанавливающее параметры для запроса.

pKey="sql_integer", pValue=[2,3], pKey="sql_varchar, 20", pValue=["Sergey", "Alina"], pKey="sql_varchar, 20", pValue=["Ivanov","Gallyamova"], pKey="sql_char, 1", pValue=["M","F"].

Кодировка

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

  • UTF-8

  • cp1251 – Кодовая страница windows-1251 (кириллица)

Код ошибки

Переменная для сохранения кода ошибки.

Название ошибки

Переменная для сохранения названия ошибки.

Переход

Компонент, которому передается управление после успешного завершения запроса.

Переход, время

Компонент, которому передается управление после истечения таймаута до получения ответа на запрос.

Переход, ошибка

Компонент, которому передается управление в случае возникновения ошибки при подготовке или выполнении запроса.

Описание

Описание компонента

Если необходимо вернуть множество строк в ответе, то в SQL запросе необходимо сделать "сохранение в json структуру" и уже компонентом Парсер разобрать результат. В зависимости от СУБД трансформация в json будет различная

Web-запрос

Позволяет выполнять HTTP- и HTTPS- запросы к web-сервисам, настроенным в Каналах интеграции. Поддерживает методы GET, POST, PUT, HEAD, DELETE, PATCH, TRACE, OPTIONS с контентом и без. Поддерживает отправку асинхронных запросов и запросов с ожиданием ответов.

В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код HTTP. Компонент поддерживает работу в сессиях, сохраняя и используя cookie, а также HTTPS и подтверждение сертификатов.

Фактическая отправка запроса может производиться как с сервера, на котором работает текущий обработчик сценария, так и с других серверов текущего сайта от имени роли WS.

Web-запрос

Название

Описание

Прокси

Использовать ли прокси сервер для подключения:

• Нет. Прямой запрос

• Да. Запрос через прокси сервер. Дополнительно надо определить:

* Адрес прокси - IP/fqdn прокси сервера * Порт прокси - Port прокси сервера * Аутентификация: ** Да - необходима аутентификация на прокси *** Логин прокси *** Пароль прокси ** Нет - прокси без аутентификации

Макс. перенаправлений

Ограничение на максимальное число перенаправлений. Значение для HTTP-заголовка Max-Forwards. При каждом перенаправлении cookie-файлы накапливаются и передаются дальше.

Источник канала интеграции

Способ выбора канала интеграции, через URL которого отправлять HTTP-запрос.

  • Из списка - необходимо в поле Канал интеграции выбрать канал

  • По коду - необходимо в поле Код канала интеграции ввести аргументом Код канала интеграции, который настроен в системе.

Страница

Аргумент, содержащий страницу (endpoint, левая часть URL адреса) Итоговый URL для запроса формируется на основании URL канала интеграции и указанной страницы.

Источник запроса

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

* RoleId * RoleId:Iface ,где - RoleId – идентификатор роли в конфигурации, по роли определяется нода; - Iface – адрес сетевого интерфейса на сервере.

Метод

  • POST

  • GET

  • PUT

  • HEAD

  • DELETE

  • PATCH

  • TRACE

  • OPTIONS

Базовая аутентификация

  • Да - необходима базовая аутентификация (дополнительно надо ввести аргументы для полей Логин и Пароль)

  • Нет - без базовой аутентификации

Заголовки

Позволяет переопределить некоторые стандартные заголовки, а также установить новые персональные заголовки. Вид:

HeaderName1: Value1 HeaderName2: Value2

Куки

Позволяет установить дополнительные cookie значения. Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки (вид аналогичный “Заголовки”).

Режим

Режим работы компонента после отправки запроса. Возможные варианты:

  • Ожидание результата – Ожидание ответа от удаленной стороны без ограничения по времени.

  • Асинхронный запуск – Управление сразу передается следующему компоненту.

  • Обрыв по таймауту – Ожидание ответа в течение установленного времени, по истечению которого HTTP-подключение разрывается и управление передается следующему компоненту.

  • Выход по таймауту – Ожидание ответа в течение установленного времени, по истечению которого управление передается следующему компоненту без разрыва подключения и прерывания процесса отправки.

Время, с

(для режимов Обрыв по таймауту и Выход по таймауту) Количество секунд ожидания ответа.

Заголовки ответа

(для всех режимов кроме Асинхронный) Сохранение заголовков ответа.

Ответ

(для всех режимов кроме Асинхронный) Сохранение тела ответа.

Кодировка ответа

(для всех режимов кроме Асинхронный)

  • Авто из заголовка

  • Авто из тела

  • Unicode

  • UTF-8

  • UTF-7

  • Windows-1251

  • Указать название – Задать название кодировки вручную.

Ошибка

Переменная для сохранения HTTP-кода ошибки.

Переход

Компонент, которому передается управление в случае успешного завершения операции асинхронной отправки, либо получения HTTP-ответа. Переход по-умолчанию.

Переход, ошибка

Компонент, которому передается управление в случае ошибки отправки запроса, либо получения неудачного ответа (коды 4xx – 6xx).

Описание

Описание компонента

Адрес запроса формируется как поле URL из канала интеграции + значение из поля Страница

Отправка сообщения в websocket-подключение

Осуществляет отправку сообщения в websocket-подключение пользователя системы. Подключение должно существовать и быть активным. Каждое подключение идентифицируется внутренним ID Аксател, который можно получить при входящих сообщениях от клиента. Хранить текущий ID websocket подключения можно в объекте Адресная книга или extObj (доступ через компонент Операция)

Отправка сообщения в websocket-подключение

Название

Описание

Операция

Доступна одна операция - Отправить. Отправляет сообщение в websocket-подключение.

Ид подключения

Идентификатор websocket-подключения.

Сообщение

Тело сообщения.

Ожидать доставки

Выключатель синхронного режима ожидания доставки сообщения до приложения адресата.

Время, с

Таймаут ожидания доставки сообщения, в секундах.

Ошибка

Переменная для сохранения ошибки.

Переход

Компонент, которому передается управление в случае успешного завершения операции. Переход по-умолчанию

Переход, время

Компонент, которому передается управление в случае истечения таймаута ожидания доставки сообщения.

Переход, ошибка

Компонент, которому передается управление в случае возникновения ошибки.

Парсер

Осуществляет разбор различных структур данных для выделения необходимого результата. Может работать с

  • JSON-структурами

  • XML-структурами

  • HTML- структурами

  • текстовыми документами

На уровне сценария могут быть организованы циклы и условия. Наиболее частое использование для разбора ответов от компонентов Web-запрос, Монитор и Операция.

Название

Описание

Документ

Аргумент, содержащий структуру, подлежащую разбору.

Алгоритм

  • Парсер JSON – Применяет алгоритм поиска в JSON структуре.

  • Парсер XML - Применяет алгоритм поиска в XML документе.

  • Регулярные выражения – Применяет стандартный алгоритм регулярных выражений. Осуществляет поиск элементов по поисковому шаблону. В общем случае обнаруживает несколько элементов. Для выдачи содержимого необходимо указать номер элемента и номер группы (если в шаблоне используется захват групп).

  • Парсер HTML – Применяет алгоритм поиска в HTML документе. Синтаксис описан в . Допускает отсутствие закрывающих тегов (в отличие от XML).

Поисковый запрос

Строка с поисковым запросом для выбранного алгоритма. Подробно описано в Правила поиска различных алгоритмов Парсера

Функция

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

Номер элемента

(только для алгоритма Регулярные выражения) Указывает индекс элемента в списке элементов, обнаруженных по шаблону в исходном документе. Нумерация начинается с 0.

Номер группы

(только для алгоритма Регулярные выражения) Указывает номер группы в списке захваченных групп выбранного элемента. Имеет значение только при указании в поисковом запросе групп захвата (выделяются круглыми скобками в соответствии с синтаксисом регулярных выражений).

Номер атрибута

(только для алгоритмов xml и html) Указывает номер атрибута

Имя атрибута

(только для алгоритмов xml и html) Указывает имя атрибута

Результат в переменную

Переменная, в которую будет сохранен результат применения поискового запроса к документу.

Ошибка в переменную

Переменная, в которую сохраняется текст ошибки.

Переход

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

Переход, ошибка

Компонент, на который передается управление в случае ошибки

Описание

Описание компонента

Функции различных алгоритмов Парсера

Функция для алгоритма Парсер JSON.

Вариант

Описание

Содержимое

Возвращает обнаруженный элемент вместе с содержимым.

Восстановленное содержимое

В ответе убраны внешние признаки JSON элемента

Количество элементов

Возвращает количество найденных элементов.

Список ключей

Возвращает список ключей в найденном объекте.

Функция для алгоритма Парсер XML.

Вариант

Описание

Документ

Возвращает выбранный элемент целиком вместе с содержимым.

Содержимое

Возвращает содержимое выбранного элемента, исключая сам элемент.

Количество элементов

Возвращает количество обнаруженных элементов.

Значение атрибута

Возвращает значение указанного атрибута выбранного элемента.

Имя атрибута

Возвращает имя атрибута по его индексу в выбранном элементе.

Количество атрибутов

Возвращает количество атрибутов в выбранном элементе.

Функция для алгоритма Регулярные выражения.

Вариант

Описание

Содержимое

Возвращает содержимое указанной группы из указанного элемента. Отсчет элементов с 1 (значение по умолчанию), отсчет групп с 0 (значение по умолчанию 1), причем нулевая группа – это полное содержание элемента. Применение в поисковом шаблоне группировок (круглые скобки) влечет необходимость указывать корректное значение интересующей группы, указание неподходящего индекса приводит к завершению работы компонента с ошибкой.

Количество элементов

Возвращает количество обнаруженных элементов, соответствующих поисковому шаблону.

Количество групп

Возвращает количество захваченных групп в обнаруженном элементе с указанным индексом. Необходимо указание номера элемента, по умолчанию 1. Если группировка в поисковом шаблоне не используется, то возвращается значение 0.

Функция для алгоритма Парсер HTML.

Вариант

Описание

Документ

Возвращает выбранный элемент целиком вместе с содержимым.

Содержимое

Возвращает содержимое выбранного элемента, исключая сам элемент.

Количество элементов

Возвращает количество обнаруженных элементов.

Значение атрибута

Возвращает значение указанного атрибута выбранного элемента.

Имя атрибута

Возвращает имя атрибута по его индексу в выбранном элементе.

Количество атрибутов

Возвращает количество атрибутов в выбранном элементе.

Правила поиска различных алгоритмов Парсера

Алгоритм JSON

Запросом к парсеру JSON является строка, определяющая ключи свойств объектов или номера элементов в массиве, разделенных символом /. При выполнении запроса слева направо парсер на каждом этапе углубляется внутрь структуры JSON.

Пример исходного json

{
   "result": "ok",
   "errormsg": "",
   "chat": [
     {
       "sessId": "uvajoqnx0qcpbjoflxr",
       "msgs": [
         {
           "msgId": 8255,
           "msgDt": 1491292390,
           "msgData": {
             "type": "text",
             "data": "Добрый день. Выберите интересующий Вас вопрос."
           },
           "msgSender": "op"
         },
         {
           "msgId": 8256,
           "msgDt": 1491292391,
           "msgData": {
             "type": "buttons",
             "data": "Связаться с usr 6"
           },
           "msgSender": "ab"
         },
         {
           "msgId": 8257,
           "msgDt": 1491292392,
           "msgData": {
             "type": "buttons",
             "data": "Связаться с usr 8"
           },
           "msgSender": "ab"
         }
       ]
     }
   ]
 }

Запрос

Функция

Результат

"chat"/0/"sessId"

Содержимое

uvajoqnx0qcpbjoflxr

Количество элементов

1

"chat"/0/"msgs"("msgSender":"ab")/1/"msgId"

Содержимое

8257

Количество элементов

1

"chat"/0/"msgs"("msgSender":"ab")

Содержимое

[ { "msgId": 8256, "msgDt": 1491292391, "msgData": { "type": "buttons", "data": "Связаться с usr 6" }, "msgSender": "ab" }, { "msgId": 8257, "msgDt": 1491292392, "msgData": { "type": "buttons", "data": "Связаться с usr 8" }, "msgSender": "ab" } ]

Количество элементов

2

"chat"/0

Список ключей

["sessId","msgs"]

Алгоритм XML

Пример документа XML:

<configuration version="16">
     <folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
         <device id="RXYYDPI-SVKNBMF-YADG7WD"></device>
         <minDiskFreePct>1</minDiskFreePct>
         <versioning></versioning>
         <copiers>0</copiers>
         <pullers>0</pullers>
         <hashers>0</hashers>
         <order>random</order>
     </folder>
     <folder id="demo.rostell.ru" label="demo.rostell.ru" path="c:\rtx_mg3\Media\domains\demo.rostell.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
         <device id="RXYYDPI-SVKNBMF-01020304"></device>
         <minDiskFreePct>1</minDiskFreePct>
         <versioning></versioning>
         <copiers>0</copiers>
         <pullers>0</pullers>
         <hashers>0</hashers>
         <order>random</order>
     </folder>
     <gui enabled="true" tls="false" debugging="false">
         <address>127.0.0.1:8384</address>
         <apikey>jeopL9MghPvTmweKDeGcoXhwRtrdaVDP</apikey>
         <theme></theme>
     </gui>
 </configuration>

Запрос

Функция

Результат

"configuration"/0/"folder"

Документ

<folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true"> <device id="RXYYDPI-SVKNBMF-YADG7WD"></device> <minDiskFreePct>1</minDiskFreePct> <versioning></versioning> <copiers>0</copiers> <pullers>0</pullers> <hashers>0</hashers> <order>random</order> </folder> <folder id="demo.rostell.ru" label="demo.rostell.ru" path="c:\rtx_mg3\Media\domains\demo.rostell.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true"> <device id="RXYYDPI-SVKNBMF-YADG7WD"></device> <minDiskFreePct>1</minDiskFreePct> <versioning></versioning> <copiers>0</copiers> <pullers>0</pullers> <hashers>0</hashers> <order>random</order> </folder>

"configuration"/0/"folder"("id":"x.demo.rostell.ru")/0/"device"/0/

Документ

<device id="RXYYDPI-SVKNBMF-YADG7WD"/>

"configuration"/0/"folder"("id":"x.demo.rostell.ru")

Документ

<folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true"> <device id="RXYYDPI-SVKNBMF-YADG7WD"></device> <minDiskFreePct>1</minDiskFreePct> <versioning></versioning> <copiers>0</copiers> <pullers>0</pullers> <hashers>0</hashers> <order>random</order> </folder>

Содержимое

<device id="RXYYDPI-SVKNBMF-YADG7WD"/> <minDiskFreePct>1</minDiskFreePct> <versioning/> <copiers>0</copiers> <pullers>0</pullers> <hashers>0</hashers> <order>random</order>

Значение атрибута. Имя атрибута: "type"

readwrite

Имя атрибута. Номер атрибута: 1

id

Количество атрибутов

7

Алгоритм HTML

Общие правила:

  • Поиск по наименованию тега в двойных кавычках, например "br"

  • Последовательность тегов формируется разделителем |, например "html"|"head"|"title"

  • Получения одного из одинаковых тегов производится добавлением индекса после разделителя тега (начиная с нуля), например "html"|"br"|1|"title"

  • По умолчанию переход к поиску следующего тега происходит с выбором нулевого тега.

  • Запрос "html"|0|"head"|0|"title"|0 равносилен запросу "html"|"head"|"title", т.е запрос по имени тега всегда возвращает список.

  • Запрос можно строить по индексам, например "0|0|1"

  • Для обращений к атрибутам тега используется скобки.

  • Запрос "html"|"head"|("charset") выдаст список родительских тегов "head" в которых присутствует атрибут "charset".

  • Запрос "html"|"head"|("type="test/css") выдаст список родительских тегов "head" в которых атрибут "type" равен "test/css".

Пример документа HTML:

<HTML>
     <HEAD>
          <META a="1" b="2"/>
     </HEAD>
     <BODY>
         <p id="x1" class="abc">abc abc
         <a href="http://asdf.ru">link</a> <br>
         </p>
         <br><br>
         <p id="x2" class="abc" v="123">zxcv zxcv</p>
     </BODY>
 </HTML>

Запрос

Функция

Результат

("id"="x1")

Документ

<p id="x1" class="abc">abc abc <a href="http://asdf.ru">link</a> <br></p>

Содержимое

abc abc <a href="http://asdf.ru">link</a> <br>

Количество элементов

1

Значение атрибута. Имя атрибута: id

x1

"META"

Количество атрибутов

2

"p"

Документ

<p id="x1" class="abc">abc abc <a href="http://asdf.ru">link</a> <br></p>

"p"|0

Документ

<p id="x1" class="abc">abc abc <a href="http://asdf.ru">link</a> <br></p>

"p"|1

Документ

<p id="x2" class="abc" v="123">zxcv zxcv</p>

"BODY"|"p"|("v")

Содержимое

zxcv zxcv

Генератор события

Осуществляет отправку произвольного события подписчикам на события системы. Более подробно в руководстве по событийной модели (доступно через запрос в службу Технической поддержки).

Генератор события

Название

Описание

Пользователь

Имя пользователя, по которому производится фильтрация при подписке. Значение представляется в виде структуры

{"sipuser":"login or number"}.

Имя События

Имя события, содержащее класс и тип через точку в формате CLASS_NAME.TYPE_NAME

Тело события

Пересылаемая информация от Аксател на сторону внешней системы в формате JSON

Переход

Компонент, которому передается управление при успешном завершении.

Переход,Ошибка

Компонент, на который передается управление, в случае ошибки

Причина ошибки

Переменная, в которую будет сохранена причина ошибки

Описание

Описание компонента

LDAP-интеграция

Компонент позволяющий сделать запрос по протоколу LDAP. Используется для интеграции с AD.

LDAP-интеграция

Свойства:

Название

Описание

Протокол

LDAP (протокол соединения с Active Directory)

Адреса серверов

Список адресов серверов службы каталогов. Можно задать несколько адресов через запятую.

Домен пользователя

Домен к которому происходит подключение

Имя пользователя

Пользователь под которым происходит подключение

Пароль

Пароль пользователя

Тайм-аут

Время подключения к серверу. В случае истечения времени сработает Переход, ошибка

Действие

Подробно в Действия LDAP-интеграции

Дополнительные поля

Результат в переменную

Переменная, в которую будет сохранен результат применения запроса.

Код ошибки в переменную

Переменная, в которую будет сохранен код ошибки

Переход

Компонент, на который передается управление, если запрос в AD выполнен успешно. Переход по-умолчанию.

Переход, ошибка

Компонент, на который передается управление, если возникла ошибка при запросе к AD

Описание

Описание компонента

Права доступа к атрибутам, объектам и доменам определяются пользователем из-под которого работает текущий компонент

Действия LDAP-интеграции

Действие Авторизовать

Производит подключение и возвращает 1 или 0 в зависимости от успешности. Никаких дополнительных операций в AD не производит.

Дополнительных полей нет.

Действие Найти

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

Используются дополнительные поля:

Доп.поле

Описание

DN

Название домена, в котором производится операция. Например, ou=AD-TEST,dc=Siberia,dc=ttt

Охват

Выбор охвата для операции поиска. Возможные варианты:

• Базовый объект – Только внутри объекта.

• Только уровень – По указанному уровню списка, то есть без рекурсии.

• Ветвь целиком – По всему дочернему дереву.

Атрибуты

Атрибуты для поиска. Например, objectGUID,cn,telephoneNumber,mobile

Строка поиска

Строка поиска в службе каталогов. Подробнее в Поиск LDAP. Например, present("cn") and present("telephoneNumber") and present("objectGUID") and substrings("mobile",5551234)

Поиск LDAP

При работе с LDAP возможно использовать строку поиска. Ниже приведены базовые принципы работы алгоритма фильтрации в LDAP протоколе.

Функция

Описание

Пример

present

существование атрибута с непустым значением

present("cn") present("telephoneNumber") present("ou")

not

отрицание результата. Логическое НЕ (инверсия)

not(present("telephoneNumber"))

and

Логическое И

not(present("telephoneNumber")) and present("cn") and present("mobile")

greaterOrEqual

Больше или равно

greaterOrEqual("cn","b")

lessOrEqual

Меньше или равно

lessOrEqual("sn","b") and greaterOrEqual("cn","a")

equalityMatch

Приблизительно равно

equalityMatch("sn","Ivanov") equalityMatch("instanceType","4")

approxMatch

Жестко равно

approxMatch("sn","Ivanov")

substrings

Поиск подстроки

substrings("sn","vano") substrings(initial,"sn","Iva") substrings(any,"sn","va","no") substrings(any,"sn","I","v","a","n","o","v") substrings(final,"sn","nov") substrings(initial,"objectGUID",10)

Пример Возврат всех атрибутов по пользователю

DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post Охват: базовый объект Атрибуты: * Строка поиска: present("cn")

Пример Возврат по всем объектам в указанном DN атрибутов cn, displayName, mobile

DN: CN=OU=City_A,OU=AD-TEST,DC=Siberia,DC=post Охват: ветвь целиком Атрибуты: cn, displayName, mobile Строка поиска: present("cn")

Действие Создать

Осуществляет создание нового объекта в LDAP по указанному пути. Используются дополнительные поля:

Доп.поле

Описание

DN

Название объекта, которй необходимо создать. Например, cn=User,ou=AD-TEST,dc=Siberia,dc=ttt

Атрибуты

Атрибуты создания объекта в формате JSON. Например, {"mobile": ["111 11 11"]}

Пример Создание нового объекта в указанном dn с выставленными атрибутами

DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post Атрибуты:

{
   "objectClass": ["top", "person", "organizationalPerson", "user"],
   "cn": ["User_A7 LastNameA7"],
   "sn": ["LastNameA7"],
   "mobile": ["545 555 00"]
  }

Действие Удалить

Удаление указанного объекта из LDAP Используются дополнительные поля:

Доп.поле

Описание

DN

Название объекта, который необходимо удалить. Например, cn=User,ou=AD-TEST,dc=Siberia,dc=ttt

Пример Удаление существующего объекта с указанным dn

DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post

Действие Изменить

Изменение существующего объекта в LDAP по указанному пути с новыми атрибутами. Используются дополнительные поля:

Доп.поле

Описание

DN

Название объекта, который необходимо изменить. Например, cn=User4,ou=AD-TEST,dc=Siberia,dc=ttt

Атрибуты

Атрибуты изменения объекта в формате JSON. Например, {"mobile": ["111 11 11"]}

Пример Изменение у существующего объекта с указанным dn атрибутов displayName и mobile

DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post Атрибуты:

 {
     "displayName":"ASDF",
     "mobile": ["334 113 43"]
   }

Действие Изменить пароль

Изменение пароля объекта для авторизации в AD Используются дополнительные поля:

Доп.поле

Описание

DN

Ссылка на объект, у которого необходимо изменить пароль. Например, cn=User7,ou=AD-TEST,dc=Siberia,dc=ttt

Новый пароль

Новый пароль. Если не указан, то пароль сгенерится и вернется в качестве результата в переменную.

Старый пароль

Старый пароль. Может не указываться. В этом случае сверки не происходит (пароль меняется безусловно на новый)

Пример Безусловное изменение пароля у объекта

DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post Старый пароль: Новый пароль: 3486ghT56^8j

Действие Изменить DN

Перенос объекта между доменами Используются дополнительные поля:

Доп.поле

Описание

DN

Название объекта, который необходимо изменить. Например, cn=User7,ou=AD-TEST,dc=Siberia,dc=ttt

Новый DN

Новое имя для объекта. Например, `cn=User8'

Родительский DN

Название домена, в котором будет распологаться объект. Например, ou=CITY,dc=NorthWest,dc=ttt

Пример Изменение имени объекта без переноса в другой домен

DN: CN=User_A7 LastNameA7,OU=City_A,OU=AD-TEST,DC=Siberia,DC=post
 Новый DN: CN=User_A7test LastNameA7test
 Родительский DN: OU=City_B,OU=AD-TEST,DC=Siberia,DC=post

Доступ к сервису S3

Взаимодействует с объектным хранилищем по протоколу S3.

Название

Описание

Хранилище

Название хранилища (bucket).

Ключ хранения

Ключ доступа к хранилищу.

Действие

  • Разместить – Размещает файл в хранилище.

  • Скачать – Возвращает содержимое файла, либо скачивает в локальный каталог и возвращает путь к нему.

  • Удалить – Удаляет файл из хранилища.

  • Размер – Возвращает размер файла в хранилища.

Тип данных

Определяет способ обмена данными сценария с хранилищем

  • Массив байтов – Использует бинарные данные через аргумент или переменную.

  • Файл данных – Использует путь к файлу в локальном каталоге.

Путь к файлу

(если тип данных = файл) Путь к файлу в локальном каталоге, с использование одной из файловых категорий.

Данные

(если тип данных = массив байтов) Аргумент с содержимым размещаемого в хранилище ресурса.

Буфер

Переменная для сохранения содержимого скачанного из хранилища ресурса.

Параметры запроса (JSON)

Набор параметров для операции в хранилище, в формате JSON-объекта, где ключи – названия параметров.

Результат в переменную

Переменная для сохранения результата выполнения запроса на получение размера файла в хранилище.

Время, с

Таймаут ожидания ответа, в секундах

Переход

Компонент, которому передается управление в случае успешного выполнения запроса. Переход по-умолчанию

Переход, время

Компонент, которому передается управление по истечение установленного времени выполнения запроса.

Переход, ошибка

Компонент, которому передается управление при возникновении ошибки.

Причина ошибки в переменную

Переменная для сохранения ошибки.

Запуск процесса

Запускает на сервере внешний консольный процесс. Параметры передаются в теле командной строки. Возвращаемое процессом значение из консоли может быть захвачено и возвращено в переменную.

Операция должна быть предварительно разрешена и настроена в файле ассетов permissions.json на каждом сервере, где может выполняться компонент.

Запуск процесса

Название

Описание

Режим

Определяет тип запуска

  • Асинхронный запуск – Сразу после запуска процесса передает управление следующему компоненту.

  • Ожидания завершения – Передает управление следующему компоненту только после завершения процесса или таймаута ожидания.

Путь к исполняемому файлу

Путь к файлу или команда ОС. Префикс командной строки. Префикс должен быть разрешен в файле permissions.json.

Параметры запуска командной строки

Аргумент, определяющий постфикс команды, содержащий параметры.

Время,с

(только для режим = ожидания завершения) Аргумент, определяющий предельное время ожидания, по истечении которого управление будет в передано дальше по Переход, время

Результат в переменную

(только для режим = ожидания завершения) Переменная, в которую будет сохранен консольный вывода завершенного процесса.

Переход

Компонент, которому передается управление далее. Переход по-умолчанию

Переход, ошибка

Компонент, на который передается управление, если возникла ошибка при запуске внешнего процесса

Причина ошибки в переменную

Переменная, в которую будет сохранена причина ошибки запуска процесса

Переход, время

(только для режим = ожидания завершения) Компонент, на который передается управление, если истекло предельное время ожидания

Описание

Описание компонента

Last updated