適用於:
Azure Data Factory
Azure Synapse Analytics
提示
Data Factory in Microsoft Fabric 是下一代的 Azure Data Factory,擁有更簡單的架構、內建 AI 及新功能。 如果你是資料整合新手,建議先從 Fabric Data Factory 開始。 現有的 ADF 工作負載可升級至 Fabric,以存取資料科學、即時分析與報告等新能力。
執行管線活動允許 Data Factory 或 Synapse 管線叫用另一個管線。
使用使用者介面 (UI) 建立執行管線活動
若要在管線中使用執行管線活動,請完成下列步驟:
在管線活動窗格中搜尋管線,然後將執行管線活動拖曳至管線畫布。
如果尚未選取畫布上的新執行管線活動,請先選取它,再選取其設定索引標籤,以編輯詳細資料。
選取現有的管線,或使用 [新增] 按鈕建立新的管線。 選取其他選項,並視需要設定管線的任何參數,以完成您的設定。
語法
{
"name": "MyPipeline",
"properties": {
"activities": [
{
"name": "ExecutePipelineActivity",
"type": "ExecutePipeline",
"typeProperties": {
"parameters": {
"mySourceDatasetFolderPath": {
"value": "@pipeline().parameters.mySourceDatasetFolderPath",
"type": "Expression"
}
},
"pipeline": {
"referenceName": "<InvokedPipelineName>",
"type": "PipelineReference"
},
"waitOnCompletion": true
}
}
],
"parameters": [
{
"mySourceDatasetFolderPath": {
"type": "String"
}
}
]
}
}
類型屬性
| 屬性 | 說明 | 允許的值 | 必要 |
|---|---|---|---|
| 名稱 | 執行管線活動的名稱。 | 字符串 | Yes |
| 型別 | 必須設為:ExecutePipeline。 | 字符串 | Yes |
| 準銷售案源 | 此管線調用之相依管線的管線參考。 管線參考物件有兩個屬性:referenceName 和 type。 referenceName 屬性指定參考管線的名稱。 type 屬性必須設為 PipelineReference。 | PipelineReference | Yes |
| 參數 | 要傳遞至叫用之管線的參數 | 將參數名稱對應到引數值的 JSON 物件 | No |
| waitOnCompletion | 定義活動執行是否會等待相依管線執行完成。 預設為「true」。 | 布林值 | No |
範例
此案例有兩個管道:
-
主管線 - 此管線有一個執行管線活動,會呼叫被調用的管線。 主要管線採用兩個參數:
masterSourceBlobContainer、masterSinkBlobContainer。 -
調用管線 - 此管線包含一個複製活動,可將資料從 Azure Blob 來源複製到 Azure Blob 接收端。 叫用的管線採用兩個參數:
sourceBlobContainer、sinkBlobContainer。
主要管線定義
{
"name": "masterPipeline",
"properties": {
"activities": [
{
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "invokedPipeline",
"type": "PipelineReference"
},
"parameters": {
"sourceBlobContainer": {
"value": "@pipeline().parameters.masterSourceBlobContainer",
"type": "Expression"
},
"sinkBlobContainer": {
"value": "@pipeline().parameters.masterSinkBlobContainer",
"type": "Expression"
}
},
"waitOnCompletion": true
},
"name": "MyExecutePipelineActivity"
}
],
"parameters": {
"masterSourceBlobContainer": {
"type": "String"
},
"masterSinkBlobContainer": {
"type": "String"
}
}
}
}
被調用的管線定義
{
"name": "invokedPipeline",
"properties": {
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "BlobSink"
}
},
"name": "CopyBlobtoBlob",
"inputs": [
{
"referenceName": "SourceBlobDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "sinkBlobDataset",
"type": "DatasetReference"
}
]
}
],
"parameters": {
"sourceBlobContainer": {
"type": "String"
},
"sinkBlobContainer": {
"type": "String"
}
}
}
}
連結服務
{
"name": "BlobStorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****"
}
}
}
來源資料集
{
"name": "SourceBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sourceBlobContainer",
"type": "Expression"
},
"fileName": "salesforce.txt"
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
接收資料集
{
"name": "sinkBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sinkBlobContainer",
"type": "Expression"
}
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
執行管線
為執行此範例中的主要管線,下列值會傳遞給 masterSourceBlobContainer 和 masterSinkBlobContainer 參數:
{
"masterSourceBlobContainer": "executetest",
"masterSinkBlobContainer": "executesink"
}
主要管線會將這些值轉送到叫用的管線,如下列範例所示:
{
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "invokedPipeline",
"type": "PipelineReference"
},
"parameters": {
"sourceBlobContainer": {
"value": "@pipeline().parameters.masterSourceBlobContainer",
"type": "Expression"
},
"sinkBlobContainer": {
"value": "@pipeline().parameters.masterSinkBlobContainer",
"type": "Expression"
}
},
....
}
相關內容
查看其他支援的控制流程活動: