Köra pipelineaktivitet i Azure Data Factory och Synapse Analytics
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Aktiviteten Kör pipeline gör att en Data Factory- eller Synapse-pipeline kan anropa en annan pipeline.
Skapa en körningspipelineaktivitet med användargränssnittet
Utför följande steg om du vill använda en Körningspipeline-aktivitet i en pipeline:
Sök efter pipeline i fönstret Pipelineaktiviteter och dra en Körningspipeline-aktivitet till pipelinearbetsytan.
Välj den nya aktiviteten Kör pipeline på arbetsytan om den inte redan är markerad och fliken Inställningar för att redigera dess information.
Välj en befintlig pipeline eller skapa en ny med knappen Nytt. Välj andra alternativ och konfigurera eventuella parametrar för pipelinen efter behov för att slutföra konfigurationen.
Syntax
{
"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"
}
}
]
}
}
Typegenskaper
Property | beskrivning | Tillåtna värden | Obligatoriskt |
---|---|---|---|
name | Namnet på körningspipelineaktiviteten. | String | Ja |
type | Måste anges till: ExecutePipeline. | String | Ja |
rörledning | Pipelinereferens till den beroende pipeline som den här pipelinen anropar. Ett pipelinereferensobjekt har två egenskaper: referenceName och typ. Egenskapen referenceName anger namnet på referenspipelinen. Typegenskapen måste anges till PipelineReference. | PipelineReference | Ja |
parametrar | Parametrar som ska skickas till den anropade pipelinen | Ett JSON-objekt som mappar parameternamn till argumentvärden | Nej |
waitOnCompletion | Definierar om aktivitetskörningen väntar på att den beroende pipelinekörningen ska slutföras. Standard är sant. | Booleskt | Nej |
Exempel
Det här scenariot har två pipelines:
- Huvudpipeline – Den här pipelinen har en Körningspipeline-aktivitet som anropar den anropade pipelinen. Huvudpipelinen tar två parametrar:
masterSourceBlobContainer
,masterSinkBlobContainer
. - Anropad pipeline – Den här pipelinen har en kopieringsaktivitet som kopierar data från en Azure Blob-källa till Azure Blob-mottagare. Den anropade pipelinen tar två parametrar:
sourceBlobContainer
,sinkBlobContainer
.
Huvudpipelinedefinition
{
"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"
}
}
}
}
Anropad pipelinedefinition
{
"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"
}
}
}
}
Länkad tjänst
{
"name": "BlobStorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****"
}
}
}
Källdatauppsättning
{
"name": "SourceBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sourceBlobContainer",
"type": "Expression"
},
"fileName": "salesforce.txt"
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
Datauppsättning för mottagare
{
"name": "sinkBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sinkBlobContainer",
"type": "Expression"
}
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
Köra pipelinen
För att köra huvudpipelinen i det här exemplet skickas följande värden för parametrarna masterSourceBlobContainer och masterSinkBlobContainer:
{
"masterSourceBlobContainer": "executetest",
"masterSinkBlobContainer": "executesink"
}
Huvudpipelinen vidarebefordrar dessa värden till den anropade pipelinen enligt följande exempel:
{
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "invokedPipeline",
"type": "PipelineReference"
},
"parameters": {
"sourceBlobContainer": {
"value": "@pipeline().parameters.masterSourceBlobContainer",
"type": "Expression"
},
"sinkBlobContainer": {
"value": "@pipeline().parameters.masterSinkBlobContainer",
"type": "Expression"
}
},
....
}
Varning
Aktiviteten Kör pipeline skickar matrisparametern som sträng till den underordnade pipelinen. Detta beror på att nyttolasten skickas från den överordnade pipelinen till den >underordnade som sträng. Vi kan se det när vi kontrollerar indata som skickas till den underordnade pipelinen. Mer information finns i det här avsnittet .
Relaterat innehåll
Se andra kontrollflödesaktiviteter som stöds: