Condividi tramite


Spostare file con Azure Data Factory

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

L'attività di copia di Azure Data Factory include il supporto predefinito per lo scenario di "spostamento" durante la copia di file binari tra archivi di archiviazione. Il modo per abilitarlo consiste nell'impostare "deleteFilesAfterCompletion" come true nell'attività di copia. In questo modo, l'attività di copia eliminerà i file dall'archivio origine dati dopo il completamento del processo.

Questo articolo descrive un modello di soluzione come un altro approccio che sfrutta il flusso di controllo flessibile di Azure Data Factory e l'attività di eliminazione e l'attività di copia per ottenere lo stesso scenario. Uno degli scenari comuni dell'uso di questo modello: i file vengono continuamente rilasciati in una cartella di destinazione dell'archivio di origine. Creando un trigger di pianificazione, la pipeline di Azure Data Factory può spostare periodicamente tali file dall'origine all'archivio di destinazione. Il modo in cui la pipeline di Azure Data Factory ottiene i "file in movimento" recupera i file dalla cartella di destinazione, copiandoli in un'altra cartella nell'archivio di destinazione e quindi eliminando gli stessi file dalla cartella di destinazione nell'archivio di origine.

Nota

Tenere presente che questo modello è progettato per spostare file anziché spostare cartelle. Se si vuole spostare la cartella modificando il set di dati in modo che contenga solo un percorso di cartella e quindi usando l'attività di copia ed eliminare l'attività per fare riferimento allo stesso set di dati che rappresenta una cartella, è necessario prestare molta attenzione. Il motivo è che è necessario assicurarsi che NON arrivino nuovi file nella cartella tra l'operazione di copia e quella di eliminazione. Se nuovi file arrivano nella cartella proprio quando l'attività Copy ha completato il processo di copia, ma l'attività Delete non è ancora stata avviata, è possibile che l'attività Delete elimini il file appena arrivato che NON è stato ancora copiato nella destinazione eliminando l'intera cartella.

Informazioni sul modello di soluzione

Questo modello ottiene i file dall'archivio basato su file di origine. Quindi sposta ognuno di essi nell'archivio di destinazione.

Il modello contiene cinque attività:

  • GetMetadata ottiene l'elenco di oggetti, inclusi i file e le sottocartelle dalla cartella nell'archivio di origine. Non recupererà gli oggetti in modo ricorsivo.
  • Filtrare l'elenco di oggetti dall'attività GetMetadata per selezionare solo i file.
  • ForEach ottiene l'elenco di file dall'attività Filtro e quindi scorre l'elenco e passa ogni file all'attività di attività Copy ed Elimina.
  • Copia copia un file dall'origine all'archivio di destinazione.
  • Elimina elimina lo stesso file dall'archivio di origine.

Il modello definisce quattro parametri:

  • SourceStore_Location è il percorso della cartella dell'archivio di origine da cui spostare i file.
  • SourceStore_Directory è il percorso della sottocartella dell'archivio di origine da cui si desidera spostare i file.
  • DestinationStore_Location è il percorso della cartella dell'archivio di destinazione in cui si desidera spostare i file.
  • DestinationStore_Directory è il percorso della sottocartella dell'archivio di destinazione in cui si desidera spostare i file.

Come usare questo modello di soluzione

  1. Passare al modello Sposta file . Selezionare una connessione esistente o creare una nuova connessione all'archivio file di origine da cui spostare i file. Tenere presente che DataSource_Folder e DataSource_File fanno riferimento alla stessa connessione dell'archivio file di origine.

    Screenshot che mostra la creazione di una nuova connessione all'origine.

  2. Selezionare una connessione esistente o creare una nuova connessione all'archivio file di destinazione in cui si desidera spostare i file.

    Screenshot che mostra la creazione di una nuova connessione alla destinazione.

  3. Selezionare La scheda Usa questo modello .

  4. Verrà visualizzata la pipeline, come nell'esempio seguente:

    Screenshot che mostra la pipeline.

  5. Selezionare Debug, immettere i valori in Parametri e quindi selezionare Fine. I parametri sono il percorso della cartella in cui si desidera spostare i file da e il percorso della cartella in cui si desidera spostare i file.

    Screenshot che mostra dove eseguire la pipeline.

  6. Esaminare i risultati.

    Screenshot che mostra il risultato dell'esecuzione della pipeline.