Mover arquivos com o Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

A atividade Copy do ADF tem suporte interno no cenário de “movimentação” ao copiar arquivos binários entre repositórios de armazenamento. A maneira de habilitá-lo é definir “deleteFilesAfterCompletion” como verdadeiro na atividade Copy. Ao fazer isso, a atividade Copy excluirá arquivos do repositório de fonte de dados após a conclusão do trabalho.

Este artigo descreve um modelo de solução como outra abordagem que aproveita o fluxo de controle flexível do ADF, além das atividades Copy e Delete, para obter o mesmo cenário. Um dos cenários comuns de uso deste modelo: os arquivos são continuamente descartados para uma pasta de destino do repositório de origem. Ao criar um gatilho de agendamento, o pipeline do ADF pode mover periodicamente esses arquivos da origem para o repositório de destino. A maneira como o pipeline do ADF atinge “a movimentação de arquivos” é obtendo os arquivos da pasta de destino, copiando cada um deles para outra pasta no repositório de destino e, em seguida, excluindo os mesmos arquivos da pasta de destino no repositório de origem.

Observação

Lembre-se de que esse modelo foi projetado para mover arquivos em vez de pastas. Se você quiser mover a pasta alterando o conjunto de dados para que contenha apenas um caminho de pasta e, em seguida, usando as atividades Copy e Delete para fazer referência ao mesmo conjunto de dados que representa uma pasta, será preciso ter muito cuidado. Isso porque você tem que ter certeza de que NÃO haverá novos arquivos entrando na pasta entre as operações de cópia e exclusão. Se houver novos arquivos chegando à pasta no momento em que a atividade de cópia tiver acabado o trabalho de cópia, mas a atividade de exclusão ainda não tiver sido iniciada, é possível que a atividade Excluir exclua esse novo arquivo que esteja entrando e que ainda NÃO foi copiado para o destino ao excluir a pasta inteira.

Sobre o modelo de solução

Este modelo obtém os arquivos do repositório baseado em arquivo de origem. Em seguida, ele move cada um deles para o repositório de destino.

O modelo contém cinco atividades:

  • GetMetadata obtém a lista de objetos, incluindo os arquivos e as subpastas da pasta no repositório de origem. Ele não recuperará os objetos de maneira recursiva.
  • Filter filtra a lista de objetos da atividade GetMetadata para selecionar apenas os arquivos.
  • ForEach obtém a lista de arquivos da atividade Filter e, em seguida, itera na lista e passa cada arquivo para a atividade Copy e a atividade Delete.
  • Copy copia um arquivo da origem para o repositório de destino.
  • Delete exclui o mesmo arquivo do repositório de origem.

O modelo define quatro parâmetros:

  • SourceStore_Location é o caminho da pasta do repositório de origem de onde você deseja mover arquivos.
  • SourceStore_Directory é o caminho da subpasta do seu repositório de origem de onde você deseja mover arquivos.
  • DestinationStore_Location é o caminho da pasta do repositório de destino para o qual você deseja mover os arquivos.
  • DestinationStore_Directory é o caminho da subpasta do repositório de destino para o qual você deseja mover os arquivos.

Como usar este modelo de solução

  1. Acesse o modelo Mover arquivos. Selecione conexão existente ou crie uma Nova com o repositório de arquivos de origem de onde você deseja mover arquivos. Lembre-se de que DataSource_Folder e DataSource_File são referências à mesma conexão do seu repositório de arquivos de origem.

    Screenshot showing creation of a new connection to the source.

  2. Selecione conexão existente ou crie uma Nova com o repositório de arquivos de destino para o qual você deseja mover arquivos.

    Screenshot showing creation a new connection to the destination.

  3. Selecione a guia Usar este modelo.

  4. Você verá o pipeline, como no exemplo a seguir:

    Screenshot showing the pipeline.

  5. Selecione Depurar, insira os Parâmetros e, em seguida, selecione Concluir. Os parâmetros são o caminho da pasta de onde e para onde você deseja mover os arquivos.

    Screenshot showing where to run the pipeline.

  6. Examine o resultado.

    Screenshot showing the result of the pipeline run.