Execute Pipeline-Aktivität in Azure Data Factory und Synapse Analytics
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Mithilfe der Execute Pipeline-Aktivität kann eine Data Factory- oder Synapse-Pipeline eine andere Pipeline aufrufen.
Erstellen einer Execute Pipeline-Aktivität mithilfe der Benutzeroberfläche
Führen Sie die folgenden Schritte aus, um eine Execute Pipeline-Aktivität zu verwenden:
Suchen Sie im Bereich mit den Pipelineaktivitäten nach Pipeline, und ziehen Sie eine Execute Pipeline-Aktivität auf die Pipelinecanvas.
Wählen Sie auf der Canvas die Execute Pipeline-Aktivität aus (sofern noch nicht geschehen), und klicken Sie auf die zugehörige Registerkarte Einstellungen, um ihre Details zu bearbeiten.
Wählen Sie eine vorhandene Pipeline aus, oder erstellen Sie mithilfe der Schaltfläche „Neu“ eine neue Pipeline. Wählen Sie weitere Optionen aus, und konfigurieren Sie alle Parameter für die Pipeline, die zur Vervollständigung Ihrer Konfiguration benötigt werden.
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"
}
}
]
}
}
Typeigenschaften
Eigenschaft | BESCHREIBUNG | Zulässige Werte | Erforderlich |
---|---|---|---|
name | Name der Aktivität „Pipeline ausführen“. | String | Ja |
type | Muss auf ExecutePipeline festgelegt werden. | String | Ja |
pipeline | Pipelineverweis auf die abhängige Pipeline, die diese Pipeline aufruft. Ein Pipelineverweisobjekt verfügt über zwei Eigenschaften: referenceName und type. Die Eigenschaft „referenceName“ gibt den Namen des Pipelineverweises an. Die Eigenschaft „type“ muss auf „PipelineReference“ festgelegt werden. | PipelineReference | Ja |
parameters | Parameter, die an die aufgerufene Pipeline übergeben werden sollen | Ein JSON-Objekt, das Parameternamen Argumentwerten zuordnet | Nein |
waitOnCompletion | Definiert, ob die Aktivitätsausführung wartet, bis die Ausführung der abhängigen Pipeline abgeschlossen ist. Der Standardwert ist "True". | Boolesch | Nein |
Beispiel
In diesem Szenario gibt es zwei Pipelines:
- Masterpipeline: Diese Pipeline weist eine Aktivität „Pipeline ausführen“ auf, die die aufgerufene Pipeline aufruft. Die Masterpipeline nutzt zwei Parameter:
masterSourceBlobContainer
,masterSinkBlobContainer
. - Aufgerufene Pipeline: Diese Pipeline weist eine Kopieraktivität auf, die Daten aus einer Azure-Blobquelle in eine Azure-Blobsenke kopiert. Die aufgerufene Pipeline nutzt zwei Parameter:
sourceBlobContainer
,sinkBlobContainer
.
Definition der Masterpipeline
{
"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"
}
}
}
}
Definition der aufgerufenen Pipeline
{
"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"
}
}
}
}
Verknüpfter Dienst
{
"name": "BlobStorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****"
}
}
}
Quelldataset
{
"name": "SourceBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sourceBlobContainer",
"type": "Expression"
},
"fileName": "salesforce.txt"
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
Senkendataset
{
"name": "sinkBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sinkBlobContainer",
"type": "Expression"
}
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
Ausführen der Pipeline
Um die Masterpipeline in diesem Beispiel auszuführen, werden die folgenden Werte für die Parameter „masterSourceBlobContainer“ und „masterSinkBlobContainer“ übergeben:
{
"masterSourceBlobContainer": "executetest",
"masterSinkBlobContainer": "executesink"
}
Die Masterpipeline leitet diese Werte an die aufgerufene Pipeline weiter, wie im folgenden Beispiel gezeigt:
{
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "invokedPipeline",
"type": "PipelineReference"
},
"parameters": {
"sourceBlobContainer": {
"value": "@pipeline().parameters.masterSourceBlobContainer",
"type": "Expression"
},
"sinkBlobContainer": {
"value": "@pipeline().parameters.masterSinkBlobContainer",
"type": "Expression"
}
},
....
}
Warnung
Die Execute Pipeline-Aktivität übergibt den Arrayparameter als Zeichenfolge an die untergeordnete Pipeline. Dies liegt daran, dass die Nutzlast von der übergeordneten Pipeline als Zeichenfolge an die untergeordnete Pipeline übergeben wird. Sie können dies sehen, wenn Sie die an die untergeordnete Pipeline übergebene Eingabe überprüfen. Ausführlichere Informationen finden Sie in diesem Abschnitt.
Zugehöriger Inhalt
Informationen zu weiteren unterstützten Ablaufsteuerungsaktivitäten: