Folyamattevékenység végrehajtása a Azure Data Factory és a Synapse Analyticsben

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

A Folyamat végrehajtása tevékenység lehetővé teszi, hogy egy Data Factory- vagy Synapse-folyamat egy másik folyamatot hívjon meg.

Folyamatvégrehozási tevékenység létrehozása felhasználói felülettel

A folyamat végrehajtási tevékenységének használatához hajtsa végre a következő lépéseket:

  1. Keresse meg a folyamatot a Folyamattevékenységek panelen, és húzzon egy Folyamat végrehajtása tevékenységet a folyamatvászonra.

  2. Válassza ki a vásznon az új folyamatvégrehozás tevékenységet, ha még nincs kijelölve, és a Gépház lapot a részleteinek szerkesztéséhez.

    Shows the UI for an execute pipeline activity.

  3. Válasszon ki egy meglévő folyamatot, vagy hozzon létre egy újat az Új gombbal. Válasszon más beállításokat, és konfigurálja a folyamat paramétereit a konfiguráció befejezéséhez szükséges módon.

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

Típustulajdonságok

Tulajdonság Leírás Megengedett értékek Kötelező
name A végrehajtási folyamat tevékenységének neve. Sztring Yes
típus A következő értékre kell állítani: ExecutePipeline. Sztring Yes
Csővezeték Folyamathivatkozás a folyamat által meghívott függő folyamatra. A folyamat-referenciaobjektum két tulajdonsággal rendelkezik: referenceName és type. A referenceName tulajdonság a referenciafolyamat nevét adja meg. A típustulajdonságot PipelineReference értékre kell állítani. PipelineReference Yes
parameters A meghívott folyamatnak átadandó paraméterek Egy JSON-objektum, amely paraméterneveket képez le argumentumértékekként No
waitOnCompletion Meghatározza, hogy a tevékenység végrehajtása megvárja-e a függő folyamat végrehajtásának befejezését. Alapértelmezett érték: true (igaz). Logikai No

Sample

Ebben a forgatókönyvben két folyamat van:

  • Főfolyamat – Ez a folyamat rendelkezik egy folyamatvégrehozás tevékenységgel, amely meghívja a meghívott folyamatot. A főfolyamat két paramétert vesz fel: masterSourceBlobContainer, masterSinkBlobContainer.
  • Meghívott folyamat – Ez a folyamat rendelkezik egy Copy tevékenység, amely adatokat másol egy Azure Blob-forrásból az Azure Blob-fogadóba. A meghívott folyamat két paramétert vesz igénybe: sourceBlobContainer, sinkBlobContainer.

Főfolyamat-definíció

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

Meghívott folyamatdefiníció

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

Társított szolgáltatások

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

Forrásadatkészlet

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

Fogadó-adatkészlet

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

A folyamat futtatása

A példában a főfolyamat futtatásához a masterSourceBlobContainer és a masterSinkBlobContainer paraméterek következő értékei lesznek átadva:

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

A főfolyamat az alábbi példában látható módon továbbítja ezeket az értékeket a meghívott folyamatnak:

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

      ....
}

Következő lépések

Tekintse meg az egyéb támogatott vezérlési folyamatokat: