Мне необходимо параметризовать все переменные в моем задании чайника и преобразовании (задания будут выполняться в AWS, а все параметры передаются как переменные среды).
Мои соединения, пути и другие параметры в задании и его сопутствующее преобразование используют стиль $ {SOURCE_DB_PASSWORD}, $ {OUTPUT_DIRECTORY}.
Когда я устанавливаю их как переменные среды в интерфейсе интеграции данных, все они работают, и задание успешно выполняется в инструменте пользовательского интерфейса . Когда я запускаю их из скрипта bash:
#!/bin/sh
export SOURCE_DB_HOST=services.db.dev
export SOURCE_DB_PORT=3306
kitchen.sh -param:SOURCE_DB_PORT=$SOURCE_DB_PORT -param:SOURCE_DB_HOST=$SOURCE_DB_HOST -file MY_JOB.kjb
Задание и преобразование, которое оно вызывает, не выбирают переменные. Ошибка:
Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${SOURCE_DB_PORT}"'
Таким образом, без использования файлов jndi или kettle.properties мне нужен какой-то способ сопоставления переменных среды с параметрами / переменными внутри заданий и преобразований PDI .
[PDI версии 8.1 в Mac OS X 10.13]