EXECUTE_SCRIPT
Шаг EXECUTE_SCRIPT запускает указанный скрипт с помощью выбранного интерпретатора.
Если к входному порту не подключено ребро, шаг запускает скрипт только один раз. В этом случае создается одна выходная запись.
Когда на входной порт поступают записи, выполняется одно выполнение скрипта для каждой записи и создается одна выходная запись для каждого выполнения скрипта.
Если скрипт выполнен успешно, шаг продолжает обработку следующих входных записей. В противном случае шаг прекращает выполнение скрипта и завершается с ошибкой.
Порты EXECUTE_SCRIPT:
Тип порта | Номер | Обязательный | Описание | Метаданные |
---|---|---|---|---|
Input | 0 | нет | Параметры запуска скрипта. | Любые |
Output | 0 | нет | Результаты выполнения скрипта. | Любые |
Атрибуты EXECUTE_SCRIPT:
Атрибут | Обязательный | Описание | Возможные значения |
---|---|---|---|
script | нет | Код скрипта, который будет выполнен. | |
scriptURL | нет | URL-адрес скрипта, который будет выполнен. | scriptURL="./folder/data/stage/script.exe" |
scriptCharset | нет | Кодировка символов, используемая в скрипте. | scriptCharset="UTF-8 " |
interpreter | да | Используемый интерпретатор. | interpreter="сmd" |
workingDirectory | нет | Рабочий каталог исполняемого скрипта. Все относительные пути, используемые внутри скрипта, будут интерпретироваться относительно этого каталога. | workingDirectory="./data-tmp/stage/ftpClearHistory/" |
inputMapping | нет | Задаёт параметры выполнения скрипта. Можно переопределить script, scriptURL, interpreter, workingDirectory. |
|
outputMapping | нет | Сопоставляет результаты успешного выполнения скрипта с метаданными на выходном порте. |
|
Мапинг входных данных
Атрибут inputMapping
позволяет переопределить настройки шага на основе данных из входящего потока.
Параметры, которые можно переопределить в inputMapping
:
script
,scriptURL
,scriptCharset
,interpreter
,workingDirectory
.
Маппинг выходных данных
outputMapping
— это преобразование, которое используется для заполнения потока, передаваемого в нулевой выходной порт шага EXECUTE_SCRIPT. Этот маппинг используется для вывода данных при успешном выполнении графа.
Данные, которые шаг может подать на выход:
std_out
,err_out
,exit_value
,err_exception
.
Пример. Выполнение скрипта, указанного в файле.
Нужно запустить скрипт и вывести результат его работы в файл. Для этого:
- Поместить шаг EXECUTE_SCRIPT на рабочую панель Дизайнера.
- Заполнить атрибуты EXECUTE_SCRIPT в редакторе шага:
Атрибут | Значение |
---|---|
scriptURL | some_directory_name/scriptURL.sh |
interpreter | sh |
outputMapping |
|
- Поместить на рабочую область шаг FLAT_FILE_WRITER.
- Заполнить атрибуты FLAT_FILE_WRITER в редакторе шага:
Атрибут | Значение |
---|---|
fileURL | dataout_dir/file_name.txt |
- Соединить шаги ребром с метаданными:
Имя поля | Тип данных |
---|---|
stdOut | string |
errOut | string |
exitValue | string |
errException | string |
Используемый скрипт:
echo 'scriptURL'
После запуска графа в файл "dataout_dir/file_name.txt" запишется следующее:
Имя поля | Значение |
---|---|
stdOut | scriptURL |
errOut | |
exitValue | exit status: 0 |
errException |