# Получение и редактирование конфигурации конвейера

Можно получить файлы конфигурации YAML для конвейера, экспортировав проект или получив его из системы контроля версий. Затем вы можете редактировать файлы YAML в вашей среде разработки, чтобы внести изменения.

Есть три варианта при начале работы:

* Экспорт проекта в YAML

  Экспорт проекта формирует ZIP-файл, содержащий YAML-файлы для всех задач, наборов данных и настроек проекта. Для получения дополнительной информации см. раздел [Экспорт и импорт конвейеров данных](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-project-export-import.htm).

  Примечание к подсказкеСначала экспортируйте в Минимизированном формате. Минимизированные файлы показывают только то, что отличается от значений по умолчанию, что делает их легче читаемыми и легче воспроизводимыми в разных проектах. При импорте минимизированного файла Qlik Talend Data Integration применяет указанные значения и использует значения по умолчанию для всего остального. Если вам нужно увидеть полный список доступных свойств и их значений по умолчанию, экспортируйте тот же проект в Полном формате для справки.

* Импорт проекта из системы управления версиями

  Для получения дополнительной информации см. раздел [Импорт проекта из системы управления версиями](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/VersionControl/Project-version-control.htm#Importin).

* Вы также можете создать конфигурацию конвейера с нуля, написав YAML-файлы, соответствующие требуемой структуре папок, но мы рекомендуем начать с существующего шаблона.

## Миграция проекта в формат YAML

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

Примечание к информацииУстаревший формат JSON будет поддерживаться до конца июня 2027 года, что дает вам время спланировать и плавно перенести ваши проекты.

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

Примечание к информацииЭто действие доступно только для проектов, хранящихся в устаревшем формате JSON. Проекты, уже использующие файлы YAML, не показывают эту опцию.

Для миграции проекта в формат YAML:

1. Откройте проект и откройте меню контроля версий.

2. Нажмите Мигрировать в формат YAML.

3. Просмотрите сообщение с подтверждением и нажмите Мигрировать.

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

После завершения миграции проект сохраняется в формате YAML в текущей ветке. Другие ветки, которые все еще содержат JSON-файлы, предложат опцию миграции в следующий раз, когда вы переключитесь на них.

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

## Понимание структуры файла

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

```
qtcp_project.yaml
qtcp_tasks/
  <task-name>/
    task.yaml
    sourceSelection.yaml
    schedule.yaml          (only if a schedule is configured)
    model.yaml             (only if relationships are defined)
    transformationRules.yaml  (only if task-level rules are defined)
    datasets/
      <dataset-name>.yaml
  newTaskDefaults.yaml     (only if custom task defaults are defined)
```

### qtcp\_project.yaml

qtcp\_project.yaml содержит определения на уровне проекта, а также такие свойства, как имя, платформа и обработка схемы по умолчанию.

### task.yaml

task.yaml содержит определения на уровне задачи, а также такие свойства, как имя задачи, тип, подключения, и поведение при полной загрузке и захвате изменений.

### sourceSelection.yaml

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

Выбор источника отличается между промежуточным хранением и другими типами задач.

### Файлы набора данных

Каждый набор данных имеет один YAML-файл, названный в честь набора данных, расположенный непосредственно в папке datasets/. Файл объединяет определение набора данных и явные правила преобразования.

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

### schedule.yaml

schedule.yaml определяет, когда запускается задача. Файл содержит `scheduling` массив с конфигурацией расписания. Этот файл включается только если задано расписание для проекта.

### model.yaml

model.yaml определяет отношения модели данных для задачи. Файл содержит `relationships` массив.

### правила преобразования.yaml

transformationRules.yaml содержит все правила преобразования на уровне задачи в массиве.

## Изменение файлов конфигурации

Откройте извлеченную папку в вашей IDE и отредактируйте файлы YAML по мере необходимости. Распространенные изменения включают:

* Изменение названий подключений для указания на другую среду.

* Добавление или удаление исходных таблиц в sourceSelection.yaml.

* Обновление параметров задачи, таких как тип загрузки или обработка схемы.

* Добавление правил преобразования в файл набора данных.

* Добавление расписания к задаче.

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

## Идентификаторы объектов в файлах YAML

Для ссылочных объектов — например, идентификатор задачи, на который есть ссылка в исходном определении другой задачи — необходимо определить уникальный идентификатор и использовать его единообразно во всех файлах.

## Связанные темы

* [Проверка конфигурации конвейера](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DeclarativePipelines/Validating-pipeline-configuration.htm)

* [Развертывание конфигурации конвейера](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DeclarativePipelines/Deploying-pipeline-configuration.htm)