Condividi tramite


Copiare file nuovi e modificati da LastModifiedDate 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!

Questo articolo descrive un modello di soluzione che è possibile usare per copiare file nuovi e modificati solo da LastModifiedDate da un archivio basato su file a un archivio di destinazione.

Informazioni sul modello di soluzione

Questo modello seleziona innanzitutto i file nuovi e modificati solo in base agli attributi LastModifiedDate e quindi copia i file selezionati dall'archivio origine dati nell'archivio di destinazione dati.

Il modello contiene un'attività:

  • Copia per copiare i file nuovi e modificati solo secondo LastModifiedDate da una memoria file a una memoria di destinazione.

Il modello definisce sei parametri:

  • FolderPath_Source è il percorso della cartella in cui è possibile leggere i file dall'archivio di origine. È necessario sostituire il valore predefinito con il percorso della cartella.
  • Directory_Source è il percorso della sottocartella in cui è possibile leggere i file dall'archivio di origine. È necessario sostituire il valore predefinito con il proprio percorso della sottocartella.
  • FolderPath_Destination è il percorso della cartella in cui si desidera copiare i file nell'archivio di destinazione. È necessario sostituire il valore predefinito con il percorso della cartella.
  • Directory_Destination è il percorso della sottocartella in cui si desidera copiare i file nell'archivio di destinazione. È necessario sostituire il valore predefinito con il proprio percorso di sottocartella.
  • LastModified_From viene usato per selezionare i file il cui attributo LastModifiedDate è successivo o uguale a questo valore datetime. Per selezionare solo i nuovi file, che non sono stati copiati l'ultima volta, questo valore datetime può essere l'ora dell'ultima attivazione della pipeline. È possibile sostituire il valore predefinito '2019-02-01T00:00:00Z' con la vostra data prevista dell'ultima modifica nel fuso orario UTC.
  • LastModified_To viene usato per selezionare i file il cui attributo LastModifiedDate è precedente a questo valore datetime. Per selezionare solo i nuovi file, che non sono stati copiati nelle esecuzioni precedenti, questo valore datetime può essere l'ora corrente. È possibile sostituire il valore predefinito '2019-02-01T00:00:00Z' con la data dell'ultima modifica desiderata nel fuso orario UTC.

Come usare questo modello di soluzione

  1. Passare alla Galleria di modelli dalla scheda Autore in Azure Data Factory, quindi scegliere il pulsante +, Pipeline e infine Galleria di modelli.

    Screenshot che mostra come aprire la raccolta modelli dalla scheda Autore di Azure Data Factory Studio.

  2. Cercare il modello Copia nuovi file solo in LastModifiedDate, selezionarlo e quindi selezionare Continua.

    Screenshot che mostra come trovare e selezionare il modello Copia nuovi file solo da LastModifiedDate.

  3. Crea una nuova connessione all'archivio di destinazione. L'archivio di destinazione è il punto in cui si desidera copiare i file.

    Creare una nuova connessione all'origine

  4. Creare una nuova connessione all'archivio di archiviazione di origine. L'archivio di archiviazione di origine è la posizione da cui copiare i file.

    Creare una nuova connessione alla destinazione

  5. Selezionare Usa questo modello.

    Usa questo modello

  6. Nel pannello verrà visualizzata la pipeline disponibile, come illustrato nell'esempio seguente:

    Mostra la pipeline

  7. Selezionare Debug, scrivere il valore per Parametri e selezionare Fine. Nell'immagine seguente i parametri vengono impostati come segue.

    • FolderPath_Source = sourcefolder
    • Directory_Source = sottocartella
    • FolderPath_Destination = destinationfolder
    • Directory_Destination = sottocartella
    • LastModified_From = 2019-02-01T00:00:00Z
    • LastModified_To = 2019-03-01T00:00:00Z

    L'esempio indica che i file, che sono stati modificati per l'ultima volta nell'intervallo di tempo (2019-02-01T00:00:00Z a 2019-03-01T00:00:00Z) verranno copiati dalla cartella di origine percorso/sottocartella alla cartella di destinazione del percorso di destinazione/sottocartella. È possibile sostituire questi tempi o cartelle con i propri parametri.

    Eseguire la pipeline

  8. Esaminare i risultati. Nell'archivio di destinazione vengono copiati solo i file modificati per l'ultima volta nell'intervallo di tempo configurato.

    Esaminare il risultato

  9. È ora possibile aggiungere un trigger di tumbling windows per automatizzare questa pipeline, in modo che possa sempre copiare periodicamente solo i file nuovi e modificati in base a "LastModifiedDate". Selezionare Aggiungi trigger e selezionare Nuovo/Modifica.

    Screenshot che evidenzia l'opzione di menu Nuovo/Modifica visualizzata quando si seleziona Aggiungi trigger.

  10. Nella finestra Add Triggers (Aggiungi trigger) selezionare + Nuovo.

  11. Selezionare Finestra mobile per il tipo di trigger, impostare Ogni 15 minuti come frequenza di ricorrenza (è possibile modificare l'intervallo a piacere). Selezionare per La casella Attivato e quindi selezionare OK.

    Creare un trigger

  12. Impostare il valore per i Parametri di esecuzione del trigger come segue e selezionare Finish (Fine).

    • FolderPath_Source = sourcefolder. È possibile sostituire la cartella con la tua nell'archivio dati di origine.
    • Directory_Source = sottocartella. È possibile sostituire con la sottocartella nell'archivio dati di origine.
    • FolderPath_Destination = destinationfolder. È possibile sostituire con la propria cartella nell'archivio dati di destinazione.
    • Directory_Destination = sottocartella. È possibile sostituire con la sottocartella nell'archivio dati di destinazione.
    • LastModified_From = @trigger().outputs.windowStartTime. Si tratta di una variabile di sistema del trigger che determina l'ora dell'ultima attivazione della pipeline.
    • LastModified_To = @trigger().outputs.windowEndTime. Si tratta di una variabile di sistema del trigger che determina l'ora in cui la pipeline viene attivata questa volta.

    Parametri di input

  13. Selezionare Pubblica tutti.

    Pubblica tutto

  14. Creare nuovi file nella cartella di origine dell'archivio origine dati. È ora in attesa che la pipeline venga attivata automaticamente e solo i nuovi file vengono copiati nell'archivio di destinazione.

  15. Selezionare La scheda Monitoraggio nel pannello di spostamento a sinistra e attendere circa 15 minuti se la ricorrenza del trigger è stata impostata su ogni 15 minuti.

  16. Esaminare i risultati. La pipeline viene attivata automaticamente ogni 15 minuti e solo i file nuovi o modificati dall'archivio di origine vengono copiati nell'archivio di destinazione in ogni esecuzione della pipeline.

    Screenshot che mostra i risultati restituiti quando viene attivata la pipeline.