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

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

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égzéssel kapcsolatos 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. Keressen rá a folyamatra a folyamattevékenységek panelen, és húzza a Folyamat végrehajtása tevékenységet a folyamatvászonra.

  2. Ha még nincs kijelölve, válassza ki az új Folyamat végrehajtása tevékenységet a vásznon, és az 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ó elvégzé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

Property Leírás Megengedett értékek Szükséges
név A végrehajtási folyamat tevékenységének neve. Sztring Igen
típus A következő értékre kell állítani: ExecutePipeline. Sztring Igen
Csővezeték A folyamat hivatkozása arra a függő folyamatra, amelyet a folyamat meghív. A folyamat-referenciaobjektumok két tulajdonsággal rendelkeznek: referenceName és type. A referenceName tulajdonság a referenciafolyamat nevét adja meg. A típustulajdonságot PipelineReference értékre kell állítani. PipelineReference Igen
parameters A meghívott folyamatnak továbbítandó paraméterek Egy JSON-objektum, amely paraméterneveket képez le argumentumértékekbe Nem
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 Nem

Minta

Ez a forgatókönyv két folyamatból áll:

  • Főfolyamat – Ez a folyamat egyetlen végrehajtási folyamattevékenységgel rendelkezik, amely meghívja a meghívott folyamatot. A főfolyamat két paramétert vesz fel: masterSourceBlobContainer, masterSinkBlobContainer.
  • Meghívott folyamat – Ez a folyamat egy Copy tevékenység rendelkezik, 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ás

{
    "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észlete

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

A folyamat futtatása

A példa főfolyamatának futtatásához a masterSourceBlobContainer és a masterSinkBlobContainer paraméterekhez a következő értékek 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"
        }
      },

      ....
}

Figyelmeztetés

A folyamattevékenység végrehajtása sztringként továbbítja a tömbparamétert a gyermekfolyamatnak. Ennek az az oka, hogy a hasznos adat a szülőfolyamatból sztringként továbbítja a >gyermeknek. Ez akkor jelenik meg, ha ellenőrizzük a gyermekfolyamatnak átadott bemenetet. További részletekért tekintse meg ezt a szakaszt .

Lásd az egyéb támogatott vezérlési folyamatokat: