

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 管道結構與執行
<a name="build-and-manage-pipeline"></a>

**Topics**
+ [管道結構](#build-and-manage-pipeline-structure)
+ [使用平行組態執行管道](#build-and-manage-pipeline-execution)

## 管道結構
<a name="build-and-manage-pipeline-structure"></a>

Amazon SageMaker Pipelines 執行個體由 `name`、`parameters` 和 `steps` 組成。`(account, region)` 對內的管道名稱必須是唯一的。步驟定義中使用的所有參數都必須在管道中定義。列出的管道步驟會透過彼此的資料相依性，自動判斷其執行順序。Pipelines 服務會解析資料相依性 DAG 中步驟之間的關係，以建立執行完成的一系列步驟。下圖是管道結構範例。

**警告**  
透過視覺化編輯器或 SageMaker AI Python SDK 建置管道時，請勿在管道參數或任何步驟定義欄位 (例如環境變數) 中包含敏感資訊。未來在 `DescribePipeline` 請求中傳回這些欄位時，將可以看見它們。

```
from sagemaker.workflow.pipeline import Pipeline
  
  pipeline_name = f"AbalonePipeline"
  pipeline = Pipeline(
      name=pipeline_name,
      parameters=[
          processing_instance_type, 
          processing_instance_count,
          training_instance_type,
          model_approval_status,
          input_data,
          batch_data,
      ],
      steps=[step_process, step_train, step_eval, step_cond],
  )
```

## 使用平行組態執行管道
<a name="build-and-manage-pipeline-execution"></a>

依預設，管道會執行可平行執行的所有步驟。您可以在建立或更新管道時，以及啟動或重試管線執行時使用 `ParallelismConfiguration` 屬性，來控制此行為。

每次執行都會套用平行組態。例如，如果啟動兩個執行，則每個執行最多可以同時執行 50 個步驟，總共可以同時執行 100 個步驟。此外，在啟動、重試或更新執行時指定的 `ParallelismConfiguration` 優先於管道中定義的平行組態。

**Example 使用 `ParallelismConfiguration` 建立管道執行**  

```
pipeline = Pipeline(
        name="{{myPipeline}}",
        steps=[step_process, step_train]
    )

  pipeline.create(role, parallelism_config={"MaxParallelExecutionSteps": 50})
```