Partilhar via


Pipelines e atividades em Azure Data Factory e Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

Importante

O suporte ao Azure Machine Learning Studio (clássico) terminará a 31 de agosto de 2024. Recomendamos que faça a transição para Azure Machine Learning até essa data.

A partir de 1 de dezembro de 2021, não pode criar novos recursos do Machine Learning Studio (clássico) (plano de espaço de trabalho e web service). Até 31 de agosto de 2024, pode continuar a utilizar os experimentos e serviços web já existentes do Machine Learning Studio (classic). Para obter mais informações, consulte:

A documentação do Machine Learning Studio (classic) está a ser retirada e pode não ser atualizada no futuro.

Este artigo ajuda-o a compreender pipelines e atividades no Azure Data Factory e no Azure Synapse Analytics e a usá-los para construir fluxos de trabalho orientados por dados de ponta a ponta para os seus cenários de movimentação e processamento de dados.

Descrição geral

Um Data Factory ou Synapse Workspace pode ter um ou mais pipelines. Um pipeline é um agrupamento lógico de atividades que, em conjunto, executam uma tarefa. Por exemplo, um pipeline pode conter um conjunto de atividades que ingerem e limpam dados de registos e, em seguida, iniciam um fluxo de dados de mapeamento para analisar os dados de registo. O pipeline permite-lhe gerir as atividades como um conjunto, em vez de cada uma individualmente. Em vez de implementar e agendar as atividades de forma independente, implementa e agenda o pipeline.

As atividades num pipeline definem as ações a executar nos seus dados. Por exemplo, pode usar uma atividade de cópia para copiar dados do SQL Server para um Armazenamento de Blobs do Azure. Depois, utilize uma atividade de fluxo de dados ou uma atividade Databricks Notebook para processar e transformar dados do armazenamento de blob para um pool Azure Synapse Analytics, sobre o qual são construídas soluções de relatórios de business intelligence.

Azure Data Factory e Azure Synapse Analytics têm três agrupamentos de atividades: atividades de movimento de dados, atividades de transformação de dados, e atividades de controlo. Uma atividade pode ter zero ou mais conjuntos de dados de entrada e produzir um ou mais conjuntos de dados de saída. O diagrama a seguir mostra a relação entre pipeline, atividade e conjunto de dados:

Relação entre conjuntos de dados, atividades e pipelines

Um conjunto de dados de entrada representa a entrada para uma atividade no pipeline e um conjunto de dados de saída representa a saída para a atividade. Os conjuntos de dados identificam dados dentro de diferentes arquivos de dados, como tabelas, ficheiros, pastas e documentos. Depois de criar um conjunto de dados, pode utilizá-lo com atividades num pipeline. Por exemplo, um conjunto de dados pode ser um conjunto de dados de entrada/saída de uma atividade Cópia ou de uma atividade HDInsightHive. Para mais informações sobre conjuntos de dados, consulte o artigo Datasets in Azure Data Factory.

Nota

Há um limite flexível padrão de no máximo 120 atividades por pipeline, que inclui atividades internas para contêineres.

Atividades de movimento de dados

Atividade de Cópia do Data Factory copia dados de um repositório de dados de origem para um repositório de dados de destino. O Data Factory suporta os arquivos de dados apresentados na tabela nesta secção. Os dados de qualquer origem podem ser escritos em qualquer sink.

Para obter mais informações, veja o artigo Copy Activity - Overview (Atividade de Cópia - Descrição Geral).

Selecione um arquivo de dados para saber como copiar dados de e para esse arquivo.

Categoria Repositório de dados Suportado como fonte Suportado como destino Suportado por Azure IR Suportado pelo IR auto-hospedado
Azure Azure Blob Storage
  Índice do Pesquisa de IA do Azure
  Azure Cosmos DB para NoSQL
  Azure Cosmos DB para MongoDB
  Azure Data Explorer
  Azure Data Lake Storage Gen1
  Azure Data Lake Storage Gen2
  Azure Database for MariaDB
  Base de Dados do Azure para MySQL
  Base de Dados do Azure para PostgreSQL
  Azure Databricks Delta Lake
  Ficheiros do Azure
  Base de Dados SQL do Azure
  Azure SQL Managed Instance
  Azure Synapse Analytics
  Azure Armazenamento de tabelas
Base de dados Amazon RDS para Oracle
  Amazon RDS para SQL Server
  Amazon Redshift
  DB2
  Furadeira
  Google BigQuery
  Greenplum
  HBase
  Hive
  Apache Impala
  Informix
  MariaDB
  Microsoft Access
  MySQL
  Netezza
  Oráculo
  Fênix
  PostgreSQL
  Presto
  SAP Business Warehouse via Open Hub
  SAP Business Warehouse via MDX
  SAP HANA O Sink é compatível apenas com o conector ODBC e o driver SAP HANA ODBC
  Tabela SAP
  Flocos de neve
  Spark
  SQL Server
  Sybase
  Teradata
  Vertica
NoSQL Cassandra
  Couchbase (Pré-visualização)
  MongoDB
  MongoDB Atlas
Ficheiro Amazon S3
  Armazenamento compatível com Amazon S3
  Sistema de Ficheiros
  FTP
  Armazenamento em nuvem do Google
  HDFS
  Armazenamento em nuvem Oracle
  SFTP
Protocolo genérico HTTP genérico
  OData genérico
  ODBC genérico
  REST genérico
Serviços e aplicações Amazon Marketplace Web Service (preterido)
  Concur (Pré-visualização)
  Dataverse
  Dynamics 365
  Dynamics AX
  Dynamics CRM
  AdWords do Google
  HubSpot
  Jira
  Magento (Pré-visualização)
  Marketo (Pré-visualização)
  Microsoft 365
  Oracle Eloqua (Pré-visualização)
  Oracle Responsys (Pré-visualização)
  Oracle Service Cloud (Pré-visualização)
  PayPal (Pré-visualização)
  QuickBooks (Pré-visualização)
  Salesforce
  Salesforce Service Cloud
  Marketing Cloud da Salesforce
  SAP Cloud para Cliente (C4C)
  SAP ECC
  ServiceNow
SharePoint Lista Online
  Shopify (Pré-visualização)
  Square (Pré-visualização)
  Tabela Web (tabela HTML)
  Xero
  Zoho (Pré-visualização)

Nota

Se um conector estiver marcado como Pré-visualização, pode experimentá-lo e enviar-nos comentários. Se quiseres depender de conectores de pré-visualização na tua solução, contacta suporte do Azure.

Atividades de transformação de dados

Azure Data Factory e Azure Synapse Analytics suportam as seguintes atividades de transformação que podem ser adicionadas individualmente ou em cadeia com outra atividade.

Para obter mais informações, veja o artigo Data Transformation Activities (Atividades de Transformação de Dados).

Atividade de transformação de dados Ambiente de computação
Fluxo de Dados Apache Spark clusters geridos por Azure Data Factory
Azure Functions Funções do Azure
Hive HDInsight [Hadoop]
Porco HDInsight [Hadoop]
MapReduce HDInsight [Hadoop]
Hadoop Streaming HDInsight [Hadoop]
Spark HDInsight [Hadoop]
Atividades do ML Studio (clássico): Execução em lote e recurso de atualização Azure VM
Procedimento Armazenado SQL do Azure, Azure Synapse Analytics, ou SQL Server
U-SQL Azure Data Lake Analytics
Atividade Personalizada Azure Batch
Caderno Databricks Azure Databricks
Atividade do Databricks Jar Azure Databricks
Databricks Python Atividade Azure Databricks
Atividade do Notebook Synapse Azure Synapse Analytics

Atividades de controle de fluxo

São suportadas as atividades de fluxo de controlo abaixo:

Atividade de controlo Descrição
Acrescentar variável Adicione um valor a uma variável de matriz existente.
Executar Pipeline A atividade Executar Pipeline permite que um pipeline do Data Factory ou Synapse invoque outro pipeline.
Filtro Aplicar uma expressão de filtro a uma matriz de entrada
Para cada A atividade ForEach define um fluxo de controlo iterativo no seu pipeline. Esta atividade é utilizada para iterar uma coleção e executa atividades especificadas em ciclo. A implementação de ciclo desta atividade é semelhante à estrutura de ciclo Foreach nas linguagens de programação.
Obter metadados A atividade GetMetadata pode ser usada para recuperar metadados de quaisquer dados em um pipeline do Data Factory ou Synapse.
Atividade de Condição If A condição "If" pode ser utilizada para criar ramos com base numa condição que é avaliada para verdadeiro ou falso. A atividade Se Condição disponibiliza a mesma funcionalidade que as instruções “se” fornecem nas linguagens de programação. Ele avalia um conjunto de atividades quando a condição é avaliada como true e outro conjunto de atividades quando a condição é avaliada como false.
Atividade de Pesquisa A atividade de Pesquisa pode ser utilizada para ler ou procurar registos/nomes de tabelas/valores em qualquer origem externa. Este resultado pode ser ainda referenciado por atividades subsequentes.
Definir variável Defina o valor de uma variável existente.
Até Atividade Implementa o ciclo Do-Until que é semelhante à estrutura de ciclo Do-Until nas linguagens de programação. Executa um conjunto de atividades num ciclo até que a condição associada às atividades seja avaliada como verdadeira. Você pode especificar um valor de tempo limite para a atividade "until".
Atividade de validação Certifique-se de que um pipeline só continue a execução se um conjunto de dados de referência existir, atender a um critério especificado ou se um tempo limite for atingido.
Atividade de Espera Quando você usa uma atividade de espera em um pipeline, o pipeline aguarda o tempo especificado antes de continuar com a execução das atividades subsequentes.
Atividade Web Atividade da Web pode ser usada para chamar um endpoint REST personalizado a partir de um pipeline. Pode transmitir conjuntos de dados e serviços associados para serem consumidos e acedidos pela atividade.
Atividade de Webhook Usando a atividade webhook, chame um ponto de extremidade e passe uma URL de retorno de chamada. A execução do pipeline aguarda que o retorno de chamada seja invocado antes de prosseguir para a próxima atividade.

Criando um pipeline com a interface do usuário

Para criar um novo pipeline, navegue até ao separador Autor no Data Factory Studio (representado pelo ícone de lápis), seleccione o sinal de adição e escolha Pipeline no menu, e Pipeline novamente no submenu.

Mostra os passos para criar um novo pipeline usando Azure Data Factory Studio.

O data factory exibe o editor de pipeline onde você pode encontrar:

  1. Todas as atividades que podem ser usadas dentro do pipeline.
  2. A tela do editor de pipeline, onde as atividades aparecem quando adicionadas ao pipeline.
  3. O painel de configurações de pipeline, incluindo parâmetros, variáveis, configurações gerais e saída.
  4. O painel de propriedades do pipeline, onde o nome do pipeline, a descrição opcional e as anotações podem ser configurados. Esse painel também mostra todos os itens relacionados ao pipeline dentro do data factory.

Captura de ecrã que mostra o painel do editor de pipeline no estúdio do Azure Data Factory com cada uma das secções descritas destacadas.

JSON do Pipeline

Veja como um pipeline é definido no formato JSON:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
        },
        "concurrency": <your max pipeline concurrency>,
        "annotations": [
        ]
    }
}
Etiqueta Descrição Tipo Necessário
nome Nome do pipeline. Especifique um nome que represente a ação que o pipeline realiza.
  • Número máximo de carateres: 140
  • Tem de começar com uma letra, número ou sublinhado (_)
  • Os seguintes caracteres não são permitidos: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
Cadeia Sim
descrição Especifique o texto que descreve para que o pipeline é utilizado. Cadeia Não
atividades A secção atividades pode ter uma ou mais atividades definidas na mesma. Veja a secção JSON da Atividade para obter detalhes sobre o elemento JSON das atividades. Matriz Sim
parâmetros A secção parâmetros pode ter um ou mais parâmetros definidos dentro do pipeline, tornando aquele pipeline flexível para reutilização. Lista Não
simultaneidade O número máximo de execuções simultâneas que o pipeline pode ter. Por padrão, não há máximo. Se o limite de simultaneidade for atingido, as execuções de pipeline adicionais serão colocadas em fila até que as anteriores sejam concluídas. Número Não
anotações Uma lista de tags associadas ao pipeline Matriz Não

JSON da Atividade

A secção atividades pode ter uma ou mais atividades definidas na mesma. Existem dois tipos principais de atividades: atividades de Execução e de Controlo.

Atividades de Execução

As atividades de execução incluem atividades de movimento de dados e de transformação de dados. Têm a estrutura de nível superior abaixo:

{
    "name": "Execution Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "linkedServiceName": "MyLinkedService",
    "policy":
    {
    },
    "dependsOn":
    {
    }
}

A tabela seguinte descreve as propriedades na definição JSON da atividade:

Etiqueta Descrição Necessário
nome Nome da atividade. Especifique um nome que represente a ação que a atividade realiza.
  • Número máximo de carateres: 55
  • Deve começar com uma letra, um número ou um sublinhado (_)
  • Os seguintes caracteres não são permitidos: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
Sim
descrição Texto que descreve para o que é utilizada a atividade Sim
tipo Tipo de atividade. Veja os diferentes tipos de atividades nas secções Atividades de Movimento de Dados, Atividades de Transformação de Dados e Atividades de Controlo. Sim
nomeDoServiçoVinculado Nome do serviço ligado utilizado pela atividade.

Uma atividade pode exigir que especifique o serviço associado ao ambiente de computação necessário.
Sim para Atividade do HDInsight, Atividade de pontuação em lote do ML Studio (clássica), Atividade de procedimento armazenado.

Não para todos os outros.
tipoPropriedades As propriedades na secção typeProperties dependem de cada tipo de atividade. Para ver as propriedades de tipo de uma atividade, selecione links para a atividade na seção anterior. Não
política Políticas que afetam o comportamento de runtime da atividade. Esta propriedade inclui um comportamento de tempo limite e de nova tentativa. Se não for especificado, os valores padrão serão usados. Para obter mais informações, veja a secção Política das atividades. Não
dependeDe Esta propriedade é utilizada para definir as dependências de atividade e de que forma as atividades subsequentes dependem de atividades anteriores. Para obter mais informações, veja Dependência das atividades Não

Política de atividade

As políticas afetam o comportamento em tempo de execução de uma atividade, fornecendo opções de configuração. Políticas de Atividade apenas estão disponíveis para atividades de execução.

Definição JSON da política de atividade

{
    "name": "MyPipelineName",
    "properties": {
      "activities": [
        {
          "name": "MyCopyBlobtoSqlActivity",
          "type": "Copy",
          "typeProperties": {
            ...
          },
         "policy": {
            "timeout": "00:10:00",
            "retry": 1,
            "retryIntervalInSeconds": 60,
            "secureOutput": true
         }
        }
      ],
        "parameters": {
           ...
        }
    }
}
Nome JSON Descrição Valores Permitidos Necessário
tempo limite Especifica o tempo limite para a execução da atividade. Intervalo de tempo N.º O tempo limite padrão é de 12 horas, mínimo de 10 minutos.
tentar novamente Número máximo de repetições Número inteiro N.º A predefinição é 0
retryIntervalInSeconds (intervaloDeRepetiçãoEmSegundos) O atraso, em segundos, entre as tentativas de repetição Número inteiro N.º O padrão é 30 segundos
secureOutput Quando definido como true, a saída da atividade é considerada segura e não é registrada para monitoramento. booleano N.º A predefinição é falsa.

Atividade de controlo

As atividades de controlo têm a estrutura de nível superior seguinte:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}
Etiqueta Descrição Necessário
nome Nome da atividade. Especifique um nome que represente a ação que a atividade realiza.
  • Número máximo de carateres: 55
  • Tem de começar com uma letra, um número ou um caractere de sublinhado (_)
  • Os seguintes caracteres não são permitidos: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
Sim
    descrição Texto que descreve para o que é utilizada a atividade Sim
    tipo Tipo de atividade. Veja os diferentes tipos de atividades nas secções sobre as atividades de movimento de dados, as atividades de transformação de dados e as atividades de controlo. Sim
    tipoPropriedades As propriedades na secção typeProperties dependem de cada tipo de atividade. Para ver as propriedades de tipo de uma atividade, selecione links para a atividade na seção anterior. Não
    dependeDe Esta propriedade é utilizada para definir a Dependência da Atividade e de que forma as atividades subsequentes dependem de atividades anteriores. Para obter mais informações, veja Dependência das atividades. Não

    Dependência das atividades

    A Dependência de Atividade define como as atividades subsequentes dependem de atividades anteriores, determinando a condição de continuar ou não executando a próxima tarefa. Uma atividade pode depender de uma ou várias atividades anteriores com condições de dependência diferentes.

    As condições de dependência diferentes são: Bem-sucedidas, Falhas, Ignoradas, Concluídas.

    Por exemplo, se um pipeline tiver a Atividade A -> Atividade B, os diferentes cenários que podem ocorrer são:

    • A Atividade B tem a condição de dependência de a Atividade A ser bem-sucedida - a Atividade B só é executada se o estado final de A for “bem-sucedida”
    • A Atividade B tem a condição de dependência de a Atividade A falhar - a Atividade B só é executada se o estado final de A for “falha”
    • A Atividade B depende da condição da Atividade A estar concluída: a Atividade B é executada se o estado final de A for “sucedido” ou “falhado”.
    • A Atividade B tem uma condição de dependência da Atividade A com ignorado: A Atividade B é executada se a Atividade A tiver um status final de ignorado. Ignorado ocorre no cenário de Atividade X -> Atividade Y -> Atividade Z, onde cada atividade é executada somente se a atividade anterior for bem-sucedida. Se a Atividade X falhar, a Atividade Y terá um status de "Ignorado" porque nunca será executada. Da mesma forma, a Atividade Z também tem um status de "Ignorado".

    Exemplo: a Atividade 2 depende de a Atividade 1 ser bem-sucedida

    {
        "name": "PipelineName",
        "properties":
        {
            "description": "pipeline description",
            "activities": [
             {
                "name": "MyFirstActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                }
            },
            {
                "name": "MySecondActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                },
                "dependsOn": [
                {
                    "activity": "MyFirstActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
              ]
            }
          ],
          "parameters": {
           }
        }
    }
    
    

    Fluxo de cópia de amostra

    No pipeline de exemplo a seguir, há uma atividade do tipo Copy na secção de atividades. Neste exemplo, a atividade copy copia dados de um armazenamento de Azure Blob para uma base de dados em Base de Dados SQL do Azure.

    {
      "name": "CopyPipeline",
      "properties": {
        "description": "Copy data from a blob to Azure SQL table",
        "activities": [
          {
            "name": "CopyFromBlobToSQL",
            "type": "Copy",
            "inputs": [
              {
                "name": "InputDataset"
              }
            ],
            "outputs": [
              {
                "name": "OutputDataset"
              }
            ],
            "typeProperties": {
              "source": {
                "type": "BlobSource"
              },
              "sink": {
                "type": "SqlSink",
                "writeBatchSize": 10000,
                "writeBatchTimeout": "60:00:00"
              }
            },
            "policy": {
              "retry": 2,
              "timeout": "01:00:00"
            }
          }
        ]
      }
    }
    

    Tenha em conta os seguintes pontos:

    • Na seção de atividades, há apenas uma atividade cujo tipo está definido como Copiar.
    • A entrada da atividade está definida como InputDataset e a saída como OutputDataset. Veja o artigo Conjuntos de dados para saber como definir conjuntos de dados em JSON.
    • Na secção typeProperties, BlobSource está especificado como o tipo de origem e SqlSink como o tipo de sink. Na seção de atividades de movimentação de dados, selecione o armazenamento de dados que você deseja usar como fonte ou coletor para saber mais sobre como mover dados de/para esse armazenamento de dados.

    Para obter um passo a passo completo sobre como criar esse pipeline, consulte Guia de início rápido: criar um Data Factory.

    Pipeline de transformação de amostra

    No pipeline de exemplo a seguir, há uma atividade do tipo HDInsightHive na seção de atividades . Neste exemplo, a atividade Hive HDInsight transforma dados de um armazenamento Azure Blob ao executar um ficheiro de script Hive num cluster Hadoop Azure HDInsight.

    {
        "name": "TransformPipeline",
        "properties": {
            "description": "My first Azure Data Factory pipeline",
            "activities": [
                {
                    "type": "HDInsightHive",
                    "typeProperties": {
                        "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                        "scriptLinkedService": "AzureStorageLinkedService",
                        "defines": {
                            "inputtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/inputdata",
                            "partitionedtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/partitioneddata"
                        }
                    },
                    "inputs": [
                        {
                            "name": "AzureBlobInput"
                        }
                    ],
                    "outputs": [
                        {
                            "name": "AzureBlobOutput"
                        }
                    ],
                    "policy": {
                        "retry": 3
                    },
                    "name": "RunSampleHiveActivity",
                    "linkedServiceName": "HDInsightOnDemandLinkedService"
                }
            ]
        }
    }
    

    Tenha em conta os seguintes pontos:

    • Na seção de atividades, há apenas uma atividade cujo tipo está definido como HDInsightHive.
    • O ficheiro de script Hive, partitionweblogs.hql, é armazenado na conta Armazenamento do Azure (especificada pelo scriptLinkedService, chamado AzureStorageLinkedService) e na pasta de scripts no contentor adfgetstarted.
    • A secção defines é utilizada para especificar as definições de runtime que são transmitidas ao script do Hive como valores de configuração do Hive (por exemplo, ${hiveconf:inputtable} e ${hiveconf:partitionedtable}).

    A secção typeProperties é diferente para cada atividade de transformação. Para saber mais sobre as propriedades de tipo suportadas para uma atividade de transformação, selecione a atividade de transformação nas atividades de transformação de dados.

    Para obter instruções completas para criar este pipeline, veja Tutorial: transformar dados com o Spark.

    Múltiplas atividades num pipeline

    Os dois pipelines de exemplo anteriores contêm apenas uma atividade. Pode haver mais do que uma atividade num pipeline. Se você tiver várias atividades em um pipeline e as atividades subsequentes não dependerem de atividades anteriores, as atividades poderão ser executadas em paralelo.

    Pode utilizar a dependência das atividades para encadear duas atividades; a dependência define de que forma é que as atividades subsequentes dependem das atividades anteriores, determinando a condição de continuação da execução da tarefa seguinte. Uma atividade pode depender de uma ou várias atividades anteriores com condições de dependência diferentes.

    Agendamento de pipelines

    Os pipelines são agendados por acionadores. Existem diferentes tipos de gatilhos (gatilho de agenda, que permite que pipelines sejam acionados num cronograma de tempo fixo, e o gatilho manual, que aciona pipelines sob demanda). Para obter mais informações sobre os acionadores, veja o artigo Pipeline execution and triggers (Execução e acionadores de pipelines).

    Para que o seu acionador inicie uma execução de pipeline, é necessário incluir uma referência ao pipeline específico na definição do acionador. Os pipelines e os acionadores têm uma relação “n-m” (muitos para muitos). Múltiplos acionadores podem iniciar um único pipeline, e o mesmo acionador pode iniciar vários pipelines. Quando o acionador estiver definido, tem de iniciá-lo para que o mesmo comece a acionar o pipeline. Para obter mais informações sobre os acionadores, veja o artigo Pipeline execution and triggers (Execução e acionadores de pipelines).

    Por exemplo, imagina que tens um gatilho do Scheduler, "Gatilho A", para iniciar o teu pipeline, "MyCopyPipeline". Define o gatilho, conforme mostrado no exemplo a seguir:

    Definição do Acionador A

    {
      "name": "TriggerA",
      "properties": {
        "type": "ScheduleTrigger",
        "typeProperties": {
          ...
          }
        },
        "pipeline": {
          "pipelineReference": {
            "type": "PipelineReference",
            "referenceName": "MyCopyPipeline"
          },
          "parameters": {
            "copySourceName": "FileSource"
          }
        }
      }
    }