Olá galera o/

Vamos a mais uma postagem sobre o Azure Data Factory, se você não conhece o Azure Data Factory (ADF) abaixo segue três posts que fiz sobre o mesmo, os posts estão bem legais e detalhados.

  • Conhecendo o Azure Data Factory >> LINK <<
  • Azure Data Factory: Criando seu primeiro pipeline de dados >> LINK <<
  • Azure Data Factory: Criando datasets genéricos >> LINK <<

Vamos continuar a nossa serie de postagens sobre as Triggers do ADF, hoje vamos criar uma trigger do tipo Tumbling Window no ADF para executar o processo do nosso pipeline de dados em uma janela de tempo. Utilizaremos os pipeline criado na postagem sobre os datasets genéricos para exemplificar. Já realizamos a criação de uma trigger do tipo Schedule e uma do tipo Storage Events nas postagens abaixo.

  • Azure Data Factory: Criando triggers do tipo Schedule>> LINK <<
  • Azure Data Factory: Criando triggers do tipo Storage Events >> LINK <<

Primeiro vamos entender o que é uma trigger no ADF e quais tipos posso criar.

As triggers determinam quando a execução do pipeline será acionada com base no tipo de trigger e critérios definidos. Existem 4 tipos de trigger no ADF, cada tipo tem uma característica especifica, vamos entender cada tipo:

  • Schedule
    • Neste tipo é possível executar um ou mais pipelines com um cronograma definido. Você tem controle total de como quer agendar a execução do pipeline. Podendo escolher data de inicio e fim, time zone, recorrência (minutos, horas, dia, semanas e meses). Você pode vincular esta trigger a múltiplos pipelines.
  • Tumbling Window
    • Neste tipo é possível executar um único pipeline em um intervalo de tempo especificado. A trigger Tumbling Window é um tipo de trigger que dispara em intervalos de tempo periódicos a partir de um horário de definido. As tumbling Windows são uma série de intervalos de tempo contíguos, não sobrepostos e de tamanho fixo. Este tipo de trigger pode ser configurado para iniciar carregamentos antigos e futuros, ou seja, ele pode executar um pipeline de uma data que já passou ou até uma determinada data futura. Esta trigger só pode ser vinculada a um único diferente das triggers Storage Events e Schedule.
  • Storage Events
    • Neste tipo é possível executar os pipelines quando um determinado evento relacionado a blob storage ou data lake ocorre. Os eventos que dispararão a trigger são criação, exclusão, ou criação e exclusão de um arquivo de blob storage ou data lake.
  • Custom events (Preview) (Teremos um post sobre este tipo de trigger isso em breve)
    • Segue o mesmo conceito do tipo Storage Events.
  • Cenário
    • Criar uma trigger do tipo Tumbling Window no ADF que vai executar o processo de um pipeline em janelas de tempo. Iremos definir um horário no passado para que a mesma execute desde o horário definido até o momento atual.
  • Passo a Passo a ser executado.
    1. Criar um pipeline com um componente de Wait com o parâmetro de 20 segundos.
    2. Criar uma trigger para executar o pipeline.
    3. Consulta a execução da Trigger.
    4. Desabilitar a trigger.

Criando pipeline com componente de Wait

1 – Acessar seu banco de dados no Azure SQL Database

1.1 – Clicar em Tables. Verifiquem que a tabela Pessoas não existe ainda.

Criando Trigger Tumbling Window

1 – Com o ADF aberto vamos clicar no nosso pipeline_teste_generico e realizar algumas alterações. Clicar em cima do componente de Copy Data e realizar os seguintes passos:

1.1 – Clicar na aba Source.
1.2 – Mudar o arquivo do fileName de cidades.csv para pessoas.csv. Lembrando que, estamos utilizando o post do pipeline generico como modelo para as demais postagens, se você ainda não viu esta postagem segue o >> LINK <<
1.3 – Clicar na aba Sink.

2 – Continuando a configuração:

2.1 – Selecionar a aba Sink (destino dos dados).
2.2 – Mudar o tableName de Cidades para Pessoas.
2.3 – Deixar a flag auto create table selecionada. Isso permitirá que o ADF crie a estrutura da tabela em questão.
2.4 – Clicar no nome Trigger.

3 – Continuando a configuração:

3.1 – Ao clicar no nome Trigger, duas opções serão exibidas exibidas.
3.2 – Selecionar a opção New/Edit. A tela para adicionar uma trigger será exibida.

4 – Com a tela de Add Triggers exibida a esquerda:

4.1 – Clique em Choose trigger…
4.2 – Selecione a opção + New.
4.3 – Percebam que, a trigger do tipo schedule criada no post anterior é listada.

5 – A tela New Trigger é exibida para ser configurada, informaremos os seguintes parâmetros:

5.1 – Name: Informei o nome trigger_storage_events.
5.2 – Type: escolher o tipo Storage Events.
Account selection method: Selecionar From Azure Subscription.
5.3 – Azure Subscription: Selecionar sua subscription do Azure.
5.4 – Storage account name: Selecionar o nome do seu Storage Account ou Data Lake.
5.5 – Container name: Selecionar o nome do container.
5.6 – Blob path begin with: Selecionar com que nome o arquivo inicia. Para este caso, queremos os arquivos que contém o nome Pessoas no início.
5.7 – Blob path ends with: Selecionar com que nome ou extensão o arquivo termina. Para este caso, queremos os arquivos que tem a extensão csv no final da palavra.
5.8 – Event: Aqui devemos definir que tipo de evento ira realizar a chamada da trigger. Selecionei apenas blob Created, ou seja, quando um arquivo for adicionar ou sobrescrito no blob a trigger será executada.
5.9 – Ignore empty blobs: Aqui escolhemos se desejamos ignorar blobs vazios. Selecionei a opção Yes.
5.10 – Activated: Selecionamos Yes.

Clicamos em Continue ao realizar toda a configuração.

6 – A tela de Data preview é exibida. Nesta tela será verificado se já existe algum arquivo no container do blob storage que começa com o nome Pessoas e termina com a extensão CSV.

6.1 – Clicamos no botão Continue. A tela New trigger exibida
6.2 – Clicar no botão OK para finalizar o processo.

7 – Retornaremos a tela do pipeline.

7.1 – Clicar em Publish All. A tela de Publish all será exibida.
7.2 – Iremos publicar as alterações no pipeline e a criação da Trigger Storage Events. Clicamos em Publish.

8 – Aguardamos o processo de publicação ser realizado.

8.1 – Clicamos no ícone do sino (notificações). Uma notificação será exibida informando que a publicação foi realizada com sucesso.
8.2 – Clicamos no botão Close para fechar a notificação.

Monitorando e Testando a Trigger no ADF

1 – Para verificar a trigger recém criada funcionando, realizamos o seguinte passo a passo:

1.1 – Clicamos na opção Manage (desenho da maqueta).
1.2 – Na seção Author selecionamos a opção Triggers (desenho de um raio). Será exibida a tela de triggers criadas.
1.3 – Podemos verificar a trigger, seu tipo, seu status e a quantos pipelines a mesma esta relacionada. A trigger storage events está criada e com status ativa.

2 – Para Testar a mesma, vamos voltar ao Container do Blob Storage e executar os seguintes processos:

2.1 – Clicar em Upload. A tela de realizar o upload de um arquivo será exibida no lado esquerdo.
2.2 – Clicar no desenho da pasta, selecionar o arquivo pessoas.csv que está em em sua máquina local.
2.3 – Clicar em Upload.
2.4 – O novo arquivo foi adicionado a lista de arquivos do seu container. Esta ação deverá disparar a trigger storage events e executar o pipeline genérico. O pipeline realizará a leitura do arquivo pessoas.csv, criará a tabela Pessoas no Azure SQL Database e irá realizar a inserção dos registros do arquivo na tabela.

Desabilitando a Trigger

1 – Para que a trigger seja desativada, é necessário realizar o processo de publicação das alterações do ADF.

1.1 – Clicamos na opção Manage (desenho da maqueta).
1.2 – Na seção Author selecionamos a opção Triggers (desenho de um raio). Será exibida a tela de triggers criadas.
1.3 – Clicar na palavra Deactivate (desenho do pause) para desativar a trigger tumbling window.
1.4 – Verificar se o status da trigger mudou para Stopped após clicar em Deactivate.
1.5 – Clicar em Publish all.

2 – Será exibida uma tela ao lado com os componentes que foram criados, alterados ou excluídos no ADF.

2.1 – Clicar no botão Publish. Aguardamos o processo de publicação ser realizado.
2.2 – Clicamos no ícone do sino (notificações). A publicação foi realizada com sucesso.
2.3 – Clicamos no botão Close para fechar a notificação.

4 – Com este processo, a trigger foi desabilitada e não será disparada.

Atenção: Se você esta com uma conta gratuita, pay-as-you-go ou de estudante, não esquecer de apagar os recursos criados nesta postagem. Para contas de estudante e gratuita a exclusão dos recursos evita o consumo dos créditos disponíveis, além disso, evita que aconteça cobrança indevida em sua subscription (assinatura). Para a conta pay-as-you-go é cobrado do cartão de crédito conforme o uso dos serviços, então, recomendo apagar para não gerar cobrança no seu cartão de crédito. Lembrar que o Azure SQL Database fica sempre ativo, então, sua cobrança acontecerá se não for deletado posteriormente.

Espero que tenham gostado desta postagem, vou fazer mais postagens técnicas sobre data factory. Aguardem que 2021 vai ter muito conteúdo legal no blog.

Desejo a todos uma boa leitura, boa prática e bons estudos.

Para quem quer estudar:

  • Para a Certificação Microsoft MTA Database Fundamentals | Banco de Dados Relacional e Linguagem T-SQL.
    • Segue o link do curso na Udemy. >> LINK <<
  • Sobre Bancos da Dados no Azure
    • Segue o link do curso na Udemy. >> LINK <<

Não se esqueçam de avaliar esta postagem através da ESTRELAS abaixo das redes sociais, isso vai me ajudar muito a melhorar as postagens.

Quem quiser mandar comentários, sugestões, criticas e complementos, fiquem a vontade, pois feedbacks positivos ou negativos engradecem meu conhecimento para que possa melhorar as postagem para vocês.

Até a próxima o/

Acessem nossas Redes Sociais: