Aktivita spuštění kanálu ve službě Azure Data Factory a Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Aktivita Spuštění kanálu umožňuje kanálu Data Factory nebo Synapse vyvolat jiný kanál.

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

Pokud chcete v kanálu použít aktivitu spustit kanál, proveďte následující kroky:

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

  2. Vyberte novou aktivitu kanálu spuštění na plátně, pokud ještě není vybraná, a její Nastavení kartu pro úpravu podrobností.

    Shows the UI for an execute pipeline activity.

  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
name Název aktivity spuštění kanálu. String Ano
type Musí být nastaveno na: ExecutePipeline. String Ano
Potrubí Odkaz na kanál odkaz na závislý kanál, který tento 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
parameters Parametry, které se mají předat do vyvolaného kanálu Objekt JSON, který mapuje názvy parametrů na hodnoty argumentů No
waitOnCompletion Definuje, jestli provádění aktivit čeká na dokončení závislého spuštění kanálu. Výchozí hodnota je true. Logický No

Vzorek

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

  • Hlavní kanál – Tento kanál má jednu aktivitu spuštění kanálu, která volá vyvolaný kanál. Hlavní kanál má dva parametry: masterSourceBlobContainer, masterSinkBlobContainer.
  • Vyvolaný kanál – Tento kanál má jeden aktivita Copy, který kopíruje data ze zdroje objektů blob Azure do jímky objektů blob Azure. 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ý kanál

{
  "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í kanál předává tyto hodnoty do vyvolaný kanál, 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"
        }
      },

      ....
}

Upozorňující

Aktivita Spuštění kanálu předává parametr pole jako řetězec podřízeného kanálu. Důvodem je skutečnost, že datová část se předává z nadřazeného kanálu do podřízeného >kanálu jako řetězec. Uvidíme ho, když zkontrolujeme vstup předaný do podřízeného kanálu. Další podrobnosti najdete v této části .

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