Executar atividade de pipeline no Azure Data Factory e Synapse Analytics
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
A atividade Executar pipeline permite que um pipeline do Data Factory ou Synapse invoque outro pipeline.
Criar uma atividade de pipeline de execução com a interface do usuário
Para usar uma atividade de Executar Pipeline em um pipeline, conclua as seguintes etapas:
Procure pipeline no painel Atividades do pipeline e arraste uma atividade Executar pipeline para a tela do pipeline.
Selecione a nova atividade Executar pipeline na tela, se ainda não estiver selecionada, e sua guia Configurações , para editar seus detalhes.
Selecione um pipeline existente ou crie um novo usando o botão Novo. Selecione outras opções e configure quaisquer 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 do tipo
Property | Description | Valores permitidos | Necessário |
---|---|---|---|
nome | Nome da atividade de pipeline de execução. | Cadeia (de carateres) | Sim |
tipo | Deve ser definido como: ExecutePipeline. | Cadeia (de carateres) | Sim |
gasoduto | Referência de pipeline ao pipeline dependente que esse pipeline invoca. Um objeto de referência de 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 a serem passados para o pipeline invocado | Um objeto JSON que mapeia nomes de parâmetros para valores de argumento | Não |
waitOnCompletion | Define se a execução da atividade aguarda a conclusão da execução do pipeline dependente. A predefinição é verdadeiro. | Boolean | Não |
Exemplo
Este cenário tem dois pipelines:
- Pipeline mestre - Este pipeline tem uma atividade de pipeline de execução que chama o pipeline invocado. O pipeline mestre usa dois parâmetros:
masterSourceBlobContainer
,masterSinkBlobContainer
. - Pipeline invocado - Este pipeline tem uma atividade de Cópia que copia dados de uma origem de Blob do Azure para o coletor de Blob do Azure. O pipeline invocado usa dois parâmetros:
sourceBlobContainer
,sinkBlobContainer
.
Definição de pipeline mestre
{
"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 invocada
{
"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
Executar atividade de pipeline passa parâmetro de matriz como cadeia de caracteres para o pipeline filho. Isso se deve ao fato de que a carga útil é passada do pipeline pai para o >filho como string. Podemos vê-lo quando verificamos a entrada passada para o pipeline filho. Por favor, verifique esta seção para obter mais detalhes.
Conteúdos relacionados
Veja outras atividades de fluxo de controle suportadas: