Перейти к содержанию

Установка etl-блоков через командну строку

Для установки etl-блоков через командную строку у вас должен быть доступ к выполнению команд в терминале сервера, на котором располагаются контейнеры ETL Analytic Workspace. При многохостовой установке вам нужен тот сервер, на котором развернут контейнер etl-api.

Скопируйте на сервер папку с одним или несколькими etl-блоками, которые вы хотите установить в AW. В примерах ниже файлы скопированы в серверную папку /home/user/install_blocks.

После копирования файлов блоков, содержимое папки /home/user/install_blocks должно выглядеть так:

.
├── example_decorator
│   ├── block_code.py
│   ├── block_meta.json
│   └── block_test.py
└── example_sql
    ├── block_code.py
    ├── block_meta.json
    ├── block_test.py
    ├── readme
    │   ├── pic-child-structure.png
    │   ├── pic-empty-block.png
    │   ├── pic-example1-1.png
    │   ├── pic-example2-1.png
    │   ├── pic-example2-2.png
    │   └── pic-example2-3.png
    └── README.md

Здесь видно, что к установке планируются два блока: example_descorator и example_sql.

После входа на сервер перейдите в папку, в которой развернут Analytic Workspace (обычно, это /opt/aw/app).

cd /opt/aw/app

Установка блоков выполняется командой (вместо /home/user/etl_blocks укажите вашу папку с блоками)

docker compose run --rm \
    -v /home/user/etl_blocks:/install_blocks \
    etl-api \
    /app/manage load-etl-block-assets --path /install_blocks

Примечание

Команда на установку блоков выполняется в контейнера etl-api. Поэтому, хостовую папку с блоками /home/user/etl_blocks необходимо "пробросить" внутрь контейнера и в параметре --path указать папку контейнера /install_blocks.

При успешном выполнении команды в консоли будет напечатано

Загрузка ETL-блоков из расположения /install_blocks
Загружены ассеты для ETL-блока example_decorator v.1.0
Загружены ассеты для ETL-блока example_sql v.1.0

Если вам необходимо установить только один конкретный блок, то в параметре --path можно указать путь до его папки

docker compose run --rm \
    -v /home/user/etl_blocks:/install_blocks \
    etl-api \
    /app/manage load-etl-block-assets \
    --path /install_blocks/example_sql

При успешном выполнении команды в консоли будет напечатано

Загрузка ETL-блоков из расположения /install_blocks/example_sql
Загружены ассеты для ETL-блока example_sql v.1.0