Copiar arquivos novos e alterados por LastModifiedDate com o Azure Data Factory

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!

Este artigo descreve um modelo de solução que você pode usar para copiar arquivos novos e alterados somente por LastModifiedDate de um repositório baseado em arquivo para um repositório de destino.

Sobre este modelo de solução

Este modelo primeiro seleciona os arquivos novos e alterados somente por seus atributos LastModifiedDate e, em seguida, copia esses arquivos selecionados do armazenamento da fonte de dados para o repositório de destino de dados.

O modelo contém uma atividade:

  • Copie para copiar arquivos novos e alterados somente por LastModifiedDate de um armazenamento de arquivos para um repositório de destino.

O modelo define seis parâmetros:

  • FolderPath_Source é o caminho da pasta onde você pode ler os arquivos do armazenamento de origem. Você precisa substituir o valor padrão pelo seu próprio caminho de pasta.
  • Directory_Source é o caminho da subpasta onde você pode ler os arquivos do armazenamento de origem. Você precisa substituir o valor padrão pelo seu próprio caminho de subpasta.
  • FolderPath_Destination é o caminho da pasta onde você deseja copiar arquivos para o armazenamento de destino. Você precisa substituir o valor padrão pelo seu próprio caminho de pasta.
  • Directory_Destination é o caminho da subpasta onde você deseja copiar arquivos para o armazenamento de destino. Você precisa substituir o valor padrão pelo seu próprio caminho de subpasta.
  • LastModified_From é usado para selecionar os arquivos cujo atributo LastModifiedDate é posterior ou igual a esse valor datetime. Para selecionar apenas os novos arquivos, que não foram copiados da última vez, esse valor datetime pode ser a hora em que o pipeline foi acionado pela última vez. Você pode substituir o valor padrão '2019-02-01T00:00:00Z' pelo seu LastModifiedDate esperado no fuso horário UTC.
  • LastModified_To é usado para selecionar os arquivos cujo atributo LastModifiedDate é anterior a esse valor datetime. Para selecionar apenas os novos arquivos, que não foram copiados em execuções anteriores, esse valor datetime pode ser o tempo presente. Você pode substituir o valor padrão '2019-02-01T00:00:00Z' pelo seu LastModifiedDate esperado no fuso horário UTC.

Como usar este modelo de solução

  1. Navegue até a Galeria de Modelos na guia Autor no Azure Data Factory e escolha o + botão, Pipeline e, finalmente , Galeria de Modelos.

    Captura de ecrã a mostrar como abrir a galeria de Modelos a partir do separador Autor do Azure Data Factory Studio.

  2. Procure o modelo Copiar novos ficheiros apenas por LastModifiedDate, selecione-o e, em seguida, selecione Continuar.

    Captura de tela mostrando como localizar e selecionar o modelo Copiar novos arquivos somente por LastModifiedDate.

  3. Crie uma nova conexão com sua loja de destino. O repositório de destino é para onde você deseja copiar arquivos.

    Criar uma nova conexão com a origem

  4. Crie uma nova conexão com seu armazenamento de armazenamento de origem. O armazenamento de armazenamento de origem é de onde você deseja copiar arquivos.

    Criar uma nova conexão com o destino

  5. Selecione Utilizar este modelo.

    Utilizar este modelo

  6. Você vê o pipeline disponível no painel, conforme mostrado no exemplo a seguir:

    Mostrar o pipeline

  7. Selecione Depurar, escreva o valor para os parâmetros e selecione Concluir. Na imagem a seguir, definimos os parâmetros da seguinte forma.

    • FolderPath_Source = sourcefolder
    • Directory_Source = subpasta
    • FolderPath_Destination = pasta de destino
    • Directory_Destination = subpasta
    • LastModified_From = 2019-02-01T00:00:00Z
    • LastModified_To = 2019-03-01T00:00:00Z

    O exemplo está indicando que os arquivos, que foram modificados pela última vez dentro do período de tempo (2019-02-01T00:00:00Z a 2019-03-01T00:00:00Z) serão copiados do caminho de origem sourcefolder/subfolder para o caminho de destino destinationfolder/subfolder. Você pode substituir esses horários ou pastas por seus próprios parâmetros.

    Executar o pipeline

  8. Reveja o resultado. Você vê que apenas os arquivos modificados pela última vez dentro do período de tempo configurado são copiados para o armazenamento de destino.

    Reveja o resultado

  9. Agora você pode adicionar um gatilho de janelas de tombamento para automatizar esse pipeline, de modo que o pipeline sempre possa copiar arquivos novos e alterados somente por LastModifiedDate periodicamente. Selecione Adicionar gatilho e selecione Novo/Editar.

    Captura de tela que destaca a opção de menu Novo/Editar que aparece quando você seleciona Adicionar gatilho.

  10. Na janela Adicionar gatilhos, selecione + Novo.

  11. Selecione Janela de Queda para o tipo de gatilho, defina A cada 15 minutos(s) como a recorrência (você pode alterar para qualquer tempo de intervalo). Selecione Sim para a caixa Ativado e, em seguida, selecione OK.

    Criar gatilho

  12. Defina o valor para os parâmetros de execução do gatilho da seguinte forma e selecione Concluir.

    • = FolderPath_Source sourcefolder. Você pode substituir por sua pasta no armazenamento de dados de origem.
    • = Directory_Source subpasta. Você pode substituir por sua subpasta no armazenamento de dados de origem.
    • = FolderPath_Destination pasta de destino. Você pode substituir por sua pasta no armazenamento de dados de destino.
    • = Directory_Destination subpasta. Você pode substituir por sua subpasta no armazenamento de dados de destino.
    • LastModified_From = @trigger().outputs.windowStartTime. É uma variável de sistema do gatilho que determina a hora em que o pipeline foi acionado da última vez.
    • LastModified_To = @trigger().outputs.windowEndTime. É uma variável de sistema do gatilho que determina o tempo em que o pipeline é acionado desta vez.

    Parâmetros de entrada

  13. Selecione Publicar Tudo.

    Publicar tudo

  14. Crie novos arquivos na pasta de origem do armazenamento da fonte de dados. Agora você está esperando que o pipeline seja acionado automaticamente e apenas os novos arquivos sejam copiados para o repositório de destino.

  15. Selecione a guia Monitor no painel de navegação esquerdo e aguarde cerca de 15 minutos se a recorrência do gatilho foi definida como a cada 15 minutos.

  16. Reveja o resultado. Você vê que seu pipeline é acionado automaticamente a cada 15 minutos, e somente os arquivos novos ou alterados do armazenamento de origem são copiados para o repositório de destino em cada execução de pipeline.

    Captura de tela que mostra os resultados que retornam quando o pipeline é acionado.