# パイプライン設定の取得と編集

パイプラインの YAML 設定ファイルは、プロジェクトをエクスポートするか、バージョン管理から取得できます。その後、開発環境で YAML ファイルを編集し、設定を変更できます。

開始方法は、次の 3 つから選択できます。

* プロジェクトを YAML としてエクスポートする

  プロジェクトをエクスポートすると、すべてのタスク、データセット、プロジェクト設定の YAML ファイルを含む ZIP ファイルが生成されます。詳細については、「[データ パイプラインのエクスポートとインポート](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-project-export-import.htm)」を参照してください。

  ヒント メモまず [最小化] 形式でエクスポートします。最小化形式では、既定値から変更されている設定のみが含まれるため、ファイルが読みやすくなり、プロジェクト間で再利用しやすくなります。最小化形式のファイルをインポートすると、Qlik Talend Data Integration は指定された設定を適用し、それ以外の設定には既定値を使用します。利用可能なプロパティとその既定値をすべて確認する場合は、同じプロジェクトを [すべて] 形式でエクスポートし、参照用として利用してください。

* バージョン管理からプロジェクトをインポートする

  詳細については、「[バージョン管理からプロジェクトをインポートする](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/VersionControl/Project-version-control.htm#Importin)」を参照してください。

* 必要なフォルダー構造に一致する YAML ファイルを作成して、パイプライン設定を最初から作成することもできますが、既存のテンプレートから開始することをお勧めします。

## プロジェクトを YAML 形式に移行する

宣言型パイプライン管理が導入される前に作成されたプロジェクトは、レガシー JSON ファイルを使用してバージョン管理に保存されています。

情報メモレガシー JSON 形式は 2027 年 6 月末まで引き続きサポートされるため、プロジェクトをスムーズに計画および移行する時間を確保できます。

これらのプロジェクトを 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 ファイルが 1 つ存在し、datasets/ フォルダー直下に配置されます。このファイルには、データセット定義と明示的な変換ルールがまとめて含まれます。

情報メモデータセット ファイルは、ランディング タスクを除くすべてのタスクで必須であり、他のタスクからデータセットを参照する場合はデータセット ID を含める必要があります。

### schedule.yaml

schedule.yaml は、タスクが実行されるタイミングを定義します。このファイルには、スケジュール設定を含む `scheduling` 配列が含まれています。このファイルは、プロジェクトにスケジュールが設定されている場合にのみ含まれます。

### model.yaml

model.yaml は、タスクのデータ モデルのリレーションシップを定義します。このファイルには、`relationships` 配列が含まれています。

### transformationRules.yaml

transformationRules.yaml には、すべてのタスク レベルの変換ルールが配列で含まれています。

## 設定ファイルを編集する

抽出したフォルダーを IDE で開き、必要に応じて YAML ファイルを編集します。一般的な編集内容には、次のようなものがあります。

* 接続名を変更し、別の環境を参照するようにする。

* sourceSelection.yaml でソース テーブルを追加または削除する。

* ロード タイプやスキーマ処理などのタスク設定を更新する。

* データセット ファイルに変換ルールを追加する。

* タスクにスケジュールを追加する。

警告メモ接続名は、ターゲット スペースで定義されている名前と完全に一致する必要があります。接続名が一致しない場合、インポート エラーが発生します。

## YAML ファイル内のオブジェクト ID

参照されるオブジェクト (別のタスクのソース定義で参照されるタスク ID など) については、一意の ID を定義し、すべての関連ファイルで一貫して使用する必要があります。

## 関連トピック

* [パイプライン設定を検証する](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DeclarativePipelines/Validating-pipeline-configuration.htm)

* [パイプライン設定を展開する](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DeclarativePipelines/Deploying-pipeline-configuration.htm)