Provádění aktivity spuštění pipeline v Azure Data Factory a Synapse Analytics

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Ekvivalentem aktivity Execute Pipeline ve Fabric je aktivita Invoke Pipeline. Pro podrobnosti o konfiguraci viz Vyvolání aktivity pipeline.

Aktivita Execute Pipeline umožňuje kanálu Data Factory nebo Synapse spustit jiný kanál.

Vytvořte aktivitu spuštění kanálu pomocí uživatelského rozhraní

Chcete-li v rource použít aktivitu Execute Pipeline, proveďte následující kroky:

  1. Vyhledejte datový kanál v podokně Aktivity datového kanálu a přetáhněte aktivitu Spustit datový kanál na plátno datového kanálu.

  2. Vyberte na plátně novou aktivitu "Spustit kanál", pokud už není vybraná, a na kartě Nastavení upravte její podrobnosti.

    Zobrazuje uživatelské rozhraní pro aktivitu kanálu spuštění.

  3. Vyberte existující kanál nebo vytvořte nový pomocí tlačítka Nový. Vyberte další možnosti a podle potřeby nakonfigurujte všechny parametry kanálu pro dokončení konfigurace.

Syntaxe

{
    "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"
                }
            }
        ]
    }
}

Vlastnosti typu

Vlastnost Popis Povolené hodnoty Požaduje se
jméno Název aktivity provádění kanálu. Řetězec Ano
typ Musí být nastaveno na: ExecutePipeline. Řetězec Ano
kanál Odkaz na závislý datový kanál, který tento datový kanál vyvolá. Referenční objekt kanálu má dvě vlastnosti: referenceName a typ. Vlastnost referenceName určuje název referenčního kanálu. Vlastnost typu musí být nastavena na PipelineReference. PipelineReference Ano
parametry Parametry, které se mají předat do vyvolaného kanálu Objekt JSON, který mapuje názvy parametrů na hodnoty argumentů Ne
čekat na dokončení Definuje, zda vykonávání aktivity čeká na ukončení závislého kanálu. Výchozí hodnota je true. logický Ne

Vzorek

Tento scénář má dva kanály:

  • Hlavní potrubí – Toto potrubí má jednu aktivitu spuštění potrubí, která volá vyvolané potrubí. Hlavní kanál má dva parametry: masterSourceBlobContainer, masterSinkBlobContainer.
  • Volaná roura – tato roura má jednu kopírovací aktivitu, která kopíruje data z Azure Blob úložiště do Azure Blob úložiště. Vyvolaný kanál má dva parametry: sourceBlobContainer, sinkBlobContainer.

Definice hlavního kanálu

{
  "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"
      }
    }
  }
}

Definice vyvolaného potrubí

{
  "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"
      }
    }
  }
}

Propojená služba

{
    "name": "BlobStorageLinkedService",
    "properties": {
    "type": "AzureStorage",
    "typeProperties": {
      "connectionString": "DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****"
    }
  }
}

Zdrojová datová sada

{
    "name": "SourceBlobDataset",
    "properties": {
    "type": "AzureBlob",
    "typeProperties": {
      "folderPath": {
        "value": "@pipeline().parameters.sourceBlobContainer",
        "type": "Expression"
      },
      "fileName": "salesforce.txt"
    },
    "linkedServiceName": {
      "referenceName": "BlobStorageLinkedService",
      "type": "LinkedServiceReference"
    }
  }
}

Datová sada jímky

{
    "name": "sinkBlobDataset",
    "properties": {
    "type": "AzureBlob",
    "typeProperties": {
      "folderPath": {
        "value": "@pipeline().parameters.sinkBlobContainer",
        "type": "Expression"
      }
    },
    "linkedServiceName": {
      "referenceName": "BlobStorageLinkedService",
      "type": "LinkedServiceReference"
    }
  }
}

Spuštění kanálu

Pokud chcete spustit hlavní kanál v tomto příkladu, předají se následující hodnoty parametrů masterSourceBlobContainer a masterSinkBlobContainer:

{
  "masterSourceBlobContainer": "executetest",
  "masterSinkBlobContainer": "executesink"
}

Hlavní potrubí předává tyto hodnoty do vyvolaného potrubí, jak je znázorněno v následujícím příkladu:

{
    "type": "ExecutePipeline",
    "typeProperties": {
      "pipeline": {
        "referenceName": "invokedPipeline",
        "type": "PipelineReference"
      },
      "parameters": {
        "sourceBlobContainer": {
          "value": "@pipeline().parameters.masterSourceBlobContainer",
          "type": "Expression"
        },
        "sinkBlobContainer": {
          "value": "@pipeline().parameters.masterSinkBlobContainer",
          "type": "Expression"
        }
      },

      ....
}

Varování

Aktivita spuštění kanálu předává parametr pole jako řetězec do podřízeného kanálu. K tomu dochází, protože datová část se z nadřazeného kanálu předává do podřízeného kanálu jako řetězec. Uvidíme to, když zkontrolujeme vstup předaný do podřízeného datového toku. Další podrobnosti najdete v této části .

Projděte si další podporované aktivity toku řízení: