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 completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

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 da LastModifiedDate da un archivio file a un archivio 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 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 percorso della 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' 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' nel fuso orario UTC.

Come usare questo modello di soluzione

  1. Passare alla raccolta modelli dalla scheda Autore in Azure Data Factory, quindi scegliere il pulsante Pipeline e infine raccolta + 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. Creare 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 finestre a cascata per automatizzare questa pipeline, in modo che la pipeline possa sempre copiare periodicamente i file nuovi e modificati solo da 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 a cascata per il tipo di trigger, impostare Ogni 15 minuti come ricorrenza (è possibile passare a qualsiasi intervallo). Selezionare per La casella Attivato e quindi selezionare OK.

    Creare un trigger

  12. Impostare il valore per Trigger Run Parameters (Parametri di esecuzione trigger) come indicato di seguito e selezionare Finish (Fine).

    • = FolderPath_Source sourcefolder. È possibile sostituire con la cartella 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 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 tutti

  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.