Kopiera nya och ändrade filer av LastModifiedDate med Azure Data Factory

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln beskriver en lösningsmall som du kan använda för att kopiera nya och ändrade filer endast av LastModifiedDate från ett filbaserat arkiv till ett målarkiv.

Om den här lösningsmallen

Den här mallen väljer först de nya och ändrade filerna endast med attributen LastModifiedDate och kopierar sedan de markerade filerna från datakällans lagringsplats till datamållagret.

Mallen innehåller en aktivitet:

  • Kopiera för att kopiera nya och ändrade filer endast av LastModifiedDate från ett filarkiv till ett målarkiv.

Mallen definierar sex parametrar:

  • FolderPath_Source är mappsökvägen där du kan läsa filerna från källarkivet. Du måste ersätta standardvärdet med din egen mappsökväg.
  • Directory_Source är undermappssökvägen där du kan läsa filerna från källarkivet. Du måste ersätta standardvärdet med din egen undermappssökväg.
  • FolderPath_Destination är mappsökvägen där du vill kopiera filer till målarkivet. Du måste ersätta standardvärdet med din egen mappsökväg.
  • Directory_Destination är undermappssökvägen där du vill kopiera filer till målarkivet. Du måste ersätta standardvärdet med din egen undermappssökväg.
  • LastModified_From används för att välja de filer vars LastModifiedDate-attribut är efter eller lika med det här datetime-värdet. För att endast välja de nya filerna, som inte har kopierats förra gången, kan det här datetime-värdet vara den tid då pipelinen utlöstes förra gången. Du kan ersätta standardvärdet "2019-02-01T00:00:00Z" med din förväntade LastModifiedDate i UTC-tidszonen.
  • LastModified_To används för att välja de filer vars LastModifiedDate-attribut ligger före det här datetime-värdet. För att endast välja de nya filerna, som inte kopierats i tidigare körningar, kan det här datetime-värdet vara aktuell tid. Du kan ersätta standardvärdet "2019-02-01T00:00:00Z" med din förväntade LastModifiedDate i UTC-tidszonen.

Så här använder du den här lösningsmallen

  1. Gå till mallgallerietfliken Författare i Azure Data Factory och välj + sedan knappen Pipeline och slutligen mallgalleriet.

    Skärmbild som visar hur du öppnar mallgalleriet från fliken Författare i Azure Data Factory Studio.

  2. Sök efter mallen Kopiera endast nya filer efter LastModifiedDate, välj den och välj sedan Fortsätt.

    Skärmbild som visar hur du hittar och väljer mallen Kopiera nya filer endast efter LastModifiedDate.

  3. Skapa en ny anslutning till målarkivet. Målarkivet är den plats där du vill kopiera filer till.

    Skapa en ny anslutning till källan

  4. Skapa en ny anslutning till källlagringsarkivet. Källlagringsarkivet är det ställe där du vill kopiera filer från.

    Skapa en ny anslutning till målet

  5. Välj Använd denna mall.

    Använd den här mallen

  6. Du ser pipelinen som är tillgänglig i panelen, som du ser i följande exempel:

    Visa pipelinen

  7. Välj Felsök, skriv värdet för Parametrar och välj Slutför. I bilden nedan anger vi parametrarna enligt följande.

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

    Exemplet anger att filerna, som senast ändrades inom tidsintervallet (2019-02-01T00:00:00Z till 2019-03-01T00:00:00Z) kopieras från källsökvägens källmapp/undermapp till målsökvägens målmapp/undermapp. Du kan ersätta dessa tider eller mappar med dina egna parametrar.

    Köra pipelinen

  8. Granska resultatet. Du ser bara att de filer som senast ändrades inom det konfigurerade tidsintervallet kopieras till målarkivet.

    Granska resultatet

  9. Nu kan du lägga till en rullande windows-utlösare för att automatisera den här pipelinen, så att pipelinen alltid kan kopiera nya och ändrade filer endast av LastModifiedDate med jämna mellanrum. Välj Lägg till utlösare och välj Ny/Redigera.

    Skärmbild som markerar menyalternativet Ny/Redigera som visas när du väljer Lägg till utlösare.

  10. I fönstret Lägg till utlösare väljer du + Ny.

  11. Välj Rullande fönster för utlösartypen och ange Var 15:e minut som upprepning (du kan ändra till valfri intervalltid). Välj Ja för rutan Aktiverad och välj sedan OK.

    Skapa utlösare

  12. Ange värdet för parametrarna för körning av utlösare enligt följande och välj Slutför.

    • = FolderPath_Source källmapp. Du kan ersätta med mappen i källdatalagret.
    • = Directory_Source undermapp. Du kan ersätta med din undermapp i källdatalagret.
    • = FolderPath_Destination målmapp. Du kan ersätta med mappen i måldatalagret.
    • = Directory_Destination undermapp. Du kan ersätta med undermappen i måldatalagret.
    • = LastModified_From@trigger().outputs.windowStartTime. Det är en systemvariabel från utlösaren som avgör när pipelinen utlöstes förra gången.
    • = LastModified_To@trigger().outputs.windowEndTime. Det är en systemvariabel från utlösaren som avgör när pipelinen utlöses den här gången.

    Indataparametrar

  13. Välj Publicera alla.

    Publicera alla

  14. Skapa nya filer i källmappen för datakällalagret. Nu väntar du på att pipelinen ska utlösas automatiskt och endast de nya filerna kopieras till målarkivet.

  15. Välj fliken Övervaka i den vänstra navigeringspanelen och vänta i ungefär 15 minuter om upprepningen av utlösaren har angetts till var 15:e minut.

  16. Granska resultatet. Du ser att din pipeline utlöses automatiskt var 15:e minut, och endast de nya eller ändrade filerna från källarkivet kopieras till målarkivet i varje pipelinekörning.

    Skärmbild som visar de resultat som returneras när pipelinen utlöses.