# 擷取和編輯管道設定

您可以擷取管道的 YAML 組態檔，方法是匯出專案，或從版本控制中擷取。然後您可以在您的開發環境中編輯 YAML 檔案以進行變更。

您有三個選項，可供入門使用：

* 匯出專案為 YAML

  匯出專案會產生一個 ZIP 檔案，其中包含所有任務、資料集和專案設定的 YAML 檔案。如需詳細資訊，請參閱[匯出並匯入資料管道](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Introduction/Data-project-export-import.htm)。

  提示備註先匯出為 精簡 格式。最小化的檔案只顯示與預設值不同的部分，使其更容易閱讀並在不同專案中複製。當您匯入最小化檔案時，Qlik Talend Data Integration 會套用指定的值，並對其他所有項目使用預設值。如果您需要查看可用屬性及其預設值的完整清單，請以 完整 格式匯出相同的專案以供參考。

* 從版本控制匯入專案

  如需詳細資訊，請參閱[從版本控制匯入專案](https://help.qlik.com/zh-TW/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 檔案，直接位於 datasets/ 資料夾中。檔案結合了資料集定義與明確的轉換規則。

資訊備註除了登陸任務之外，所有任務都需要資料集檔案，而且如果您想從其他任務參考該資料集，則必須包含資料集 ID。

### schedule.yaml

schedule.yaml 定義任務何時執行。檔案包含一個 `scheduling` 陣列，其中包含排程設定。只有在專案已設定排程時，才會包含此檔案。

### model.yaml

model.yaml 定義了任務的資料模型關係。檔案包含一個 `relationships` 陣列。

### 轉換規則.yaml

transformationRules.yaml 包含所有任務層級的轉換規則，並以陣列形式儲存。

## 編輯設定檔

在您的 IDE 中開啟擷取出的資料夾，並視需要編輯 YAML 檔案。常見的編輯包括：

* 變更連線名稱以指向不同的環境。

* 在 sourceSelection.yaml 中新增或移除來源表格。

* 更新任務設定，例如載入類型或結構描述處理。

* 新增轉換規則至資料集檔案。

* 新增排程至任務。

警告備註請完全依照目標空間中定義的連線名稱進行參考。連線名稱不符將導致匯入錯誤。

## YAML 檔案中的物件 ID

對於參考的物件 — 例如在另一個任務的來源定義中參考的任務 ID — 您必須定義一個唯一的 ID，並在所有檔案中一致地使用它。

## 相關主題

* [驗證管道組態](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DeclarativePipelines/Validating-pipeline-configuration.htm)

* [部署管道組態](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/DeclarativePipelines/Deploying-pipeline-configuration.htm)