Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Dica
Data Factory no Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA interna e novos recursos. Se você não estiver familiarizado com a integração de dados, comece com Fabric Data Factory. As cargas de trabalho existentes do ADF podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.
A atividade Execute Pipeline permite que um pipeline do Data Factory ou do Synapse invoque outro pipeline.
Crie uma atividade "Execute Pipeline" com a interface de usuário.
Para usar um atividade Execute Pipeline em um pipeline, siga estas etapas:
Procure pipeline no painel Atividades do pipeline e arraste uma atividade Execute Pipeline para a tela do pipeline.
Selecione a nova atividade Execute Pipeline na tela, se ainda não estiver selecionada, e a guia Configurações para editar os detalhes.
Selecione um pipeline existente ou crie um usando o botão Novo. Selecione outras opções e configure os parâmetros para o pipeline conforme necessário para concluir sua configuração.
Sintaxe
{
"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"
}
}
]
}
}
Propriedades de tipo
| Propriedade | Descrição | Valores permitidos | Obrigatório |
|---|---|---|---|
| nome | Nome da atividade de execução de pipeline. | String | Sim |
| tipo | Deve ser definido como: ExecutePipeline. | String | Sim |
| pipeline | Referência de pipeline para o pipeline dependente que invoca esse pipeline. Um objeto de referência do pipeline tem duas propriedades: referenceName e type. A propriedade referenceName especifica o nome do pipeline de referência. A propriedade type deve ser definida como PipelineReference. | PipelineReference | Sim |
| parâmetros | Parâmetros que devem ser passados para o pipeline invocado | Um objeto JSON que mapeia os nomes de parâmetro para os valores de argumento | Não |
| aguardarConclusão | Define se a atividade de execução aguarda a execução do pipeline dependente ser concluída. O padrão é true. | booleano | Não |
Amostra
Este cenário tem dois pipelines:
-
Pipeline mestre — Este pipeline contém a atividade Execute Pipeline, que chama o pipeline invocado. O pipeline principal usa dois parâmetros:
masterSourceBlobContainer,masterSinkBlobContainer. -
Pipeline invocado — Este pipeline contém a atividade Copy, que copia dados de uma origem Blob do Azure para um destino Blob do Azure. O pipeline invocado usa dois parâmetros:
sourceBlobContainer,sinkBlobContainer.
Definição de pipeline principal
{
"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"
}
}
}
}
Definição de pipeline invocado
{
"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"
}
}
}
}
Serviço vinculado
{
"name": "BlobStorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****"
}
}
}
Conjunto de dados de origem
{
"name": "SourceBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sourceBlobContainer",
"type": "Expression"
},
"fileName": "salesforce.txt"
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
Conjunto de dados do coletor
{
"name": "sinkBlobDataset",
"properties": {
"type": "AzureBlob",
"typeProperties": {
"folderPath": {
"value": "@pipeline().parameters.sinkBlobContainer",
"type": "Expression"
}
},
"linkedServiceName": {
"referenceName": "BlobStorageLinkedService",
"type": "LinkedServiceReference"
}
}
}
Executando o pipeline
Para executar o pipeline mestre neste exemplo, os seguintes valores são passados para os parâmetros masterSourceBlobContainer e masterSinkBlobContainer:
{
"masterSourceBlobContainer": "executetest",
"masterSinkBlobContainer": "executesink"
}
O pipeline mestre encaminha esses valores para o pipeline invocado, conforme mostrado no exemplo a seguir:
{
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "invokedPipeline",
"type": "PipelineReference"
},
"parameters": {
"sourceBlobContainer": {
"value": "@pipeline().parameters.masterSourceBlobContainer",
"type": "Expression"
},
"sinkBlobContainer": {
"value": "@pipeline().parameters.masterSinkBlobContainer",
"type": "Expression"
}
},
....
}
Aviso
A atividade Execute Pipeline passa o parâmetro de matriz como cadeia de caracteres para o pipeline filho. Isso ocorre devido ao fato de que o conteúdo é passado do pipeline pai para o > filho como cadeia de caracteres. Podemos vê-lo quando verificamos a entrada passada para o pipeline filho. Confira esta seção para saber mais detalhes.
Conteúdo relacionado
Veja outras atividades de fluxo de controle com suporte: