Entendendo o fluxo de controle do Data Factory
O que é o fluxo de controle
O fluxo de controle é uma orquestração de atividades do pipeline que inclui o encadeamento de atividades em uma sequência, ramificação, definindo parâmetros no nível do pipeline e passando argumentos durante a invocação do pipeline sob demanda ou por meio de um gatilho.
O fluxo de controle também pode incluir contêineres de repetição que podem passar informações para cada iteração do contêiner de repetição.
Se um loop For Each for usado como uma atividade de fluxo de controle, o Azure Data Factory poderá iniciar várias atividades em paralelo usando essa abordagem. Isso permite que você crie uma lógica de processamento complexa e iterativa dentro dos pipelines criados com o Azure Data Factory, que dá suporte à criação de diversos padrões de integração de dados, como a criação de um data warehouse moderno.
Algumas das atividades comuns de fluxo de controle são descritas nas seções abaixo.
Encadeando atividades
Dentro do Azure Data Factory você pode encadear atividades em uma sequência dentro de um pipeline. É possível usar a propriedade dependsOn em uma definição de atividade para encadeá-la com uma atividade upstream.
Atividades de ramificação
Use o Azure Data Factory para atividades de ramificação dentro de um pipeline. Um exemplo de uma atividade de ramificação é a atividade If Condition , que é semelhante a uma instrução if fornecida em linguagens de programação. Uma atividade de ramificação avalia um conjunto de atividades e, quando a condição é avaliada como verdadeira, um conjunto de atividades é executado. Quando avaliada como falsa, um conjunto alternativo de atividades é executado.
Para situações em que você precisa de mais de dois caminhos de resultado, use a atividade Switch . A atividade switch funciona como uma instrução switch/case em linguagens de programação: ela avalia uma expressão e executa as atividades que correspondem a um valor de caso específico. Você pode definir até 25 casos nomeados mais um branch padrão que é executado quando nenhum caso corresponde. Utilize a condição If para decisões binárias de verdadeiro/falso e a estrutura Switch quando você tiver múltiplos resultados discretos.
Parâmetros
É possível definir parâmetros no nível do pipeline e passar argumentos enquanto você invoca o pipeline sob demanda ou de um gatilho. Em seguida, as atividades consomem os argumentos mantidos em um parâmetro à medida que são transferidos para o pipeline.
Passagem de estado personalizada
A transmissão de estado customizada é viabilizada com o Azure Data Factory. A passagem de estado personalizada é uma atividade que cria uma saída ou estado que deve ser consumido por uma atividade subsequente no pipeline. Um exemplo é que, em uma definição JSON de uma atividade, você pode acessar a saída da atividade anterior. Ao usar a passagem de estado personalizada, você pode criar fluxos de trabalho nos quais os valores são transmitidos por meio de atividades.
Contêineres em loop
O escopo de contêineres em loop do fluxo de controle, como a atividade ForEach, define a repetição em um pipeline. Ele permite que você itere em uma coleção e execute atividades especificadas dentro do loop definido. Ele funciona de modo semelhante à estrutura de laço 'for each' usada em linguagens de programação. Além de cada atividade, também há uma atividade Until. Essa funcionalidade é semelhante à de um loop do-until usado na programação. O que ele faz é executar um conjunto de atividades (do) em um loop até que a condição (until) seja satisfeita.
Fluxos baseados em gatilhos
Pipelines podem ser disparados sob demanda (com base em eventos, por exemplo, envio de blob) ou por horário do relógio.
Invocar um pipeline a partir de outro pipeline
A atividade Execute Pipeline com o Azure Data Factory permite que um pipeline do Data Factory invoque outro pipeline.
Fluxos delta
Os casos de uso relacionados aos fluxos delta são cargas delta. As cargas delta em padrões de ETL carregarão apenas os dados que mudaram desde uma iteração anterior de um pipeline. Funcionalidades, como atividade de pesquisa e agendamento flexível, ajudam a lidar com processos de carga incremental. No caso de usar uma atividade Lookup, ela lerá ou pesquisará um valor de nome de tabela ou registro de qualquer fonte externa. Essa saída pode ser referenciada pelas atividades subsequentes.
Outros fluxos de controle
Há muito mais atividades de fluxo de controle. Confira os seguintes itens para outras atividades úteis:
Atividade Web: A atividade web no Azure Data Factory, utilizando fluxos de controle, pode chamar um endpoint REST personalizado de um pipeline do Data Factory. Os conjuntos de dados e os serviços associados podem ser passados para serem consumidos pela atividade.
Atividade Obter metadados: recupera os metadados de todos os dados no Azure Data Factory.