Dela via


Kopiera data och skicka e-postaviseringar om lyckade och misslyckade

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

Tips

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!

I den här självstudiekursen skapar du en Data Factory-pipeline som visar några av funktionerna för att styra flödet. Den här pipelinen skapar en enkel kopia från en container i Azure Blob Storage till en annan container i samma lagringskonto. Om kopieringen lyckas skickar pipelinen information om den lyckade kopieringsåtgärden (till exempel hur mycket data som har skrivits) i ett e-postmeddelande. Om kopieringen misslyckas skickar pipelinen information om att kopieringen misslyckades (till exempel ett felmeddelande) i ett e-postmeddelande. Genom hela självstudiekursen ser du hur du kan skicka parametrar.

En översikt över scenariot på hög nivå: Diagrammet visar Azure Blob Storage, som är målet för en kopia, som vid lyckat resultat skickar ett e-postmeddelande med information eller vid fel skickar ett e-postmeddelande med felinformation.

I de här självstudierna går du igenom följande steg:

  • Skapa en datafabrik.
  • Skapa en länkad Azure Storage-tjänst.
  • Skapa en Azure Blob-datauppsättning
  • Skapa en pipeline som innehåller en kopieringsaktivitet och en webbaktivitet
  • Skicka utdata för aktiviteter till efterföljande aktiviteter
  • Använda parameteröverföring och systemvariabler
  • Starta en körning av pipeline
  • Övervaka arbetsflödet och aktivitetsskörningarna

I den här självstudien används Azure-portalen. Du kan använda andra metoder för att interagera med Azure Data Factory (se Snabbstarter i innehållsförteckningen).

Förutsättningar

  • Azure-prenumeration. Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
  • Azure Storage-konto. Du kan använda blob-lagringen som källa för datalagringen. Om du inte har ett Azure Storage-konto finns det anvisningar om hur du skapar ett i artikeln Skapa ett lagringskonto .
  • Azure SQL Database. Du använder databasen som slutpunkt för data. Om du inte har någon databas i Azure SQL Database kan du läsa artikeln Skapa en databas i Azure SQL Database för steg för att skapa en.

Skapa blob-tabell

  1. Öppna Anteckningar. Kopiera följande text och spara den som input.txt på disken.

    John,Doe
    Jane,Doe
    
  2. Gör följande med verktyg som Azure Storage Explorer:

    1. Skapa containern adfv2branch.
    2. Skapa mappen input i containern adfv2branch.
    3. Överför filen input.txt till containern.

Skapa slutpunkter för e-postarbetsflödet

Om du vill utlösa sändning av ett e-postmeddelande från pipelinen använder du Azure Logic Apps för att definiera arbetsflödet. Mer information om hur du skapar ett logikapparbetsflöde finns i Skapa ett exempel på arbetsflöde för en förbrukningslogikapp.

Lyckat e-postarbetsflöde

Skapa ett arbetsflöde för förbrukningslogikappen med namnet CopySuccessEmail. Lägg till utlösaren Förfrågning med namnet När en HTTP-begäran tas emot och lägg till Office 365 Outlook-åtgärden med namnet Skicka ett e-postmeddelande. Logga in på ditt Office 365 Outlook-konto om du uppmanas att göra det.

Visar en skärmbild av arbetsflödet för framgångsrik e-post.

För Begäran-utlösaren fyller du i rutan för JSON-schema med följande JSON:

{
    "properties": {
        "dataFactoryName": {
            "type": "string"
        },
        "message": {
            "type": "string"
        },
        "pipelineName": {
            "type": "string"
        },
        "receiver": {
            "type": "string"
        }
    },
    "type": "object"
}

Utlösaren för förfrågningar i arbetsflödesdesignern bör se ut som på följande bild:

Visar en skärmbild av arbetsflödesdesignern med utlösare för begäran.

För åtgärden Skicka ett e-postmeddelande anpassar du hur du vill formatera e-postmeddelandet med hjälp av egenskaperna som skickas i JSON-schemat för begärandetext. Här är ett exempel:

Visar en skärmbild av arbetsflödesdesignern med åtgärden Skicka ett e-postmeddelande.

Spara arbetsflödet. Notera URL-adressen för HTTP POST-förfrågan för ditt e-postarbetsflöde för framgång:

//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

Arbetsflöde för misslyckat e-postmeddelande

Följ samma steg för att skapa ett annat logikapparbetsflöde med namnet CopyFailEmail. I begärans utlösare är värdet för JSON-schemat i begärandetexten detsamma. Ändra formatet på ditt e-postmeddelande som Subject för att anpassa det till ett misslyckat meddelande. Här är ett exempel:

Visar en skärmbild av arbetsflödesdesignern med arbetsflödet för misslyckad e-post.

Spara arbetsflödet. Notera URL för HTTP Post-begäran för arbetsflöde för e-postmeddelanden om fel.

//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

Du bör nu ha två arbetsflödes-URL:er:

//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

Skapa en datafabrik

  1. Starta webbläsaren Microsoft Edge eller Google Chrome. Just nu är det bara webbläsarna Microsoft Edge och Google Chrome som har stöd för Data Factory UI.

  2. Expandera menyn längst upp till vänster och välj Skapa en resurs. Välj sedan Analytics>Data Factory :

    Visar en skärmbild av markeringen Data Factory i

  3. På sidan Ny datafabrik anger du ADFTutorialDataFactory som namn.

    Ny sida för datafabrik

    Namnet på Azure Data Factory måste vara globalt unikt. Om det följande felet returneras, ändra datafabrikens namn (till exempel dittnamnADFTutorialDataFactory) och försök att skapa igen. Se artikeln Data Factory – namnregler för namnregler för Data Factory-artefakter.

    Datafabriksnamnet "ADFTutorialDataFactory" är inte tillgängligt.

  4. Välj den Azure-prenumeration som du vill skapa den nya datafabriken i.

  5. För resursgruppen utför du något av följande steg:

  6. Välj V2 för versionen.

  7. Välj plats för datafabriken. Endast platser som stöds visas i listrutan. Datalagren (Azure Storage, Azure SQL Database osv.) och beräkningarna (HDInsight osv.) som används i Data Factory kan finnas i andra regioner.

  8. Välj fäst på instrumentpanelen.

  9. Klicka på Skapa.

  10. Efter att Data Factory har skapats visas sidan enligt bilden.

    Visar en skärmbild av startsidan för datafabriken.

  11. Klicka på Öppna Azure Data Factory Studio-panelen för att starta Användargränssnittet för Azure Data Factory på en separat flik.

Skapa en pipeline

I det här steget kan du skapa en pipeline med en kopieringsaktivitet och två webbaktiviteter. Du använder följande funktioner för att skapa pipelinen:

  • Parametrar för pipelinen som har åtkomst via datauppsättningar.
  • Webbaktivitet för att anropa arbetsflöden för Logic Apps för att skicka e-postmeddelanden för att indikera framgång och misslyckande.
  • Ansluta en aktivitet med en annan aktivitet (vid lyckat och misslyckat resultat)
  • Använda utdata från en aktivitet som indata i efterföljande aktivitet
  1. På startsidan för Data Factory-användargränssnittet klickar du på orchestrate-panelen.

    Visar en skärmbild av startsidan för datafabriken med Orchestrate-panelen markerad.

  2. I egenskapsfönstret för pipelinen väljer du fliken Parametrar och använder knappen Ny för att lägga till tre parametrar av typen String: sourceBlobContainer, sinkBlobContainer och receiver.

    • sourceBlobContainer – parameter i pipelinen som används av källans blob-datauppsättning.
    • sinkBlobContainer – parametern i pipelinen som används av datauppsättningen för mottagarblobben
    • receiver – den här parametern används av de två webbaktiviteterna i pipelinen som skickar lyckade eller misslyckade e-postmeddelanden till mottagaren vars e-postadress anges av den här parametern.

    Visar en skärmdump av menyn Ny pipeline.

  3. I verktygslådan Aktiviteter söker du efter Kopiera och drar och släpper aktiviteten Kopiera till ytan för pipelinedesignern.

    Visar en skärmbild som demonstrerar hur du drar och släpper kopieringsaktiviteten i pipelinedesignverktyget.

  4. Välj den Kopiera-aktivitet som du drog till ytan av pipelinedesignern. I fönstret Egenskaper för aktiviteten Kopiera längst ned väljer du fliken Källa och klickar på + Ny. I det här steget skapar du en källdatauppsättning för kopieringsaktiviteten.

    Skärmbild som visar hur du skapar en källdatauppsättning för kopieringsaktiviteten.

  5. I fönstret Ny datauppsättning väljer du fliken Azure överst och sedan Azure Blob Storage och väljer Fortsätt.

    Visar en skärmbild av knappen Välj Azure Blob Storage.

  6. I fönstret Välj format väljer du AvgränsadText och väljer Fortsätt.

    Visar en skärmbild av

  7. Du ser en ny flik med titeln Ange egenskaper. Ändra namnet på datauppsättningen till SourceBlobDataset. Välj listrutan Länkad tjänst och välj +Ny för att skapa en ny länkad tjänst till källdatauppsättningen.

    Visar en skärmbild av

  8. Du ser fönstret Ny länkad tjänst där du kan fylla i de egenskaper som krävs för den länkade tjänsten.

    Visar en skärmbild av fönstret för datamängdens anslutning med knappen ny länkad tjänst markerad.

  9. Utför följande steg i fönstret New Linked Service (Ny länkad tjänst):

    1. Ange AzureStorageLinkedService som namn.
    2. Välj ditt Azure Storage-konto i Lagringskontonamn.
    3. Klicka på Skapa.
  10. I fönstret Ange egenskaper som visas härnäst väljer du Öppna den här datamängden för att ange ett parameteriserat värde för filnamnet.

    Visar en skärmbild av datamängden

  11. Ange @pipeline().parameters.sourceBlobContainer för mappen och emp.txt för filnamnet.

    Visar en skärmbild av inställningarna för källdatauppsättningen.

  12. Växla tillbaka till pipelinefliken (eller klicka på pipelinen i trädvyn till vänster) och välj aktiviteten Kopiera i designern. Bekräfta att den nya datauppsättningen har valts för Källdatauppsättning.

    Visar en skärmbild av källdatauppsättningen.

  13. I fönstret Egenskaper väljer du fliken Mottagare och klickar på + Ny för Sink Dataset (Datauppsättning för mottagare). I det här steget skapar du ett måldataset för kopieringsaktiviteten på liknande sätt som när du skapade källdatasetet.

    Visar en skärmbild av knappen för den nya måldataset

  14. I fönstret Ny datauppsättning väljer du Azure Blob Storage och klickar på Fortsätt och sedan AvgränsadText igen i fönstret Välj format och klickar på Fortsätt igen.

  15. På sidan Ange egenskaper för datauppsättningen anger du SinkBlobDataset som Namn och väljer AzureStorageLinkedService för LinkedService.

  16. Expandera avsnittet Avancerat på egenskapssidan och välj Öppna den här datamängden.

  17. På fliken Connection i datasetet redigerar du filens sökväg. Ange @pipeline().parameters.sinkBlobContainer för mappen och @concat(pipeline().RunId, '.txt') för filnamnet. Uttrycket använder ID:t för den aktuella pipelinekörningen som filnamn. En lista över systemvariabler och uttryck som stöds finns i Systemvariabler och Uttrycksspråk.

    Visar en skärmbild av inställningarna för Sink-dataset.

  18. Växla tillbaka till pipelinefliken längst upp. Sök efter Web i sökrutan och dra och släpp en webbaktivitet till ytan för pipelinedesignern. Ange SendSuccessEmailActivity som namn på aktiviteten. Webbaktiviteten tillåter anrop till valfri REST-slutpunkt. Mer information om aktiviteten finns i Webbaktivitet. Denna pipeline använder en webbaktivitet för att anropa Logic Apps arbetsflöde för e-post.

    Visar en skärmbild som visar hur du drar och släpper den första webbaktiviteten.

  19. Välj fliken Inställningar på fliken Allmänt och gör följande:

    1. För URL anger du URL:en för logic apps-arbetsflödet som skickar e-postmeddelandet om att det lyckades.

    2. Välj POST som metod.

    3. Klicka på länken + Add header (Lägg till sidhuvud) i avsnittet Headers (Sidhuvud).

    4. Lägg till Content-Type (Innehållstyp) och ge den värdet application/json.

    5. Ange följande JSON för Body.

      {
          "message": "@{activity('Copy1').output.dataWritten}",
          "dataFactoryName": "@{pipeline().DataFactory}",
          "pipelineName": "@{pipeline().Pipeline}",
          "receiver": "@pipeline().parameters.receiver"
      }
      

      Meddelandetexten innehåller följande egenskaper:

      • Meddelande – Överför värdet för @{activity('Copy1').output.dataWritten. Hämtar en egenskap för den tidigare kopieringsaktiviteten och skickar värdet för dataWritten. Vid ett fel skickas felutdata i stället för @{activity('CopyBlobtoBlob').error.message.

      • Data Factory namn – Överföra värdet @{pipeline().DataFactory} Detta är en systemvariabel som gör det möjligt att komma åt det motsvarande datafabrikens namn. En lista över systemvariabler finns i artikeln om systemvariabler.

      • Pipeline-namn – Skickar värdet för @{pipeline().Pipeline}. Detta är också en systemvariabel som gör att du kan komma åt motsvarande pipelinenamn.

      • Mottagare – Överföra värdet av "@pipeline().parameters.receiver"). Åtkomst till pipelineparametrarna.

        Visar en skärmbild av inställningarna för den första webbaktiviteten.

  20. Anslut aktiviteten Kopiera till webbaktivitetengenom att dra den gröna kryssrutan bredvid aktiviteten Kopiera och släppa på webbaktiviteten.

    Visar en skärmbild som visar hur du ansluter aktiviteten Kopiera med den första webbaktiviteten.

  21. Dra och släpp en annan webbaktivitet från verktygslådan Aktiviteter till pipelinedesignytan och ange SendFailureEmailActivity som namn.

    Visar en skärmbild av namnet på den andra webbaktiviteten.

  22. Växla till fliken Inställningar och gör följande:

    1. För URL anger du URL:en för logic apps-arbetsflödet som skickar e-postmeddelandet om att det misslyckades.

    2. Välj POST som metod.

    3. Klicka på länken + Add header (Lägg till sidhuvud) i avsnittet Headers (Sidhuvud).

    4. Lägg till Content-Type (Innehållstyp) och ge den värdet application/json.

    5. Ange följande JSON för Body.

      {
          "message": "@{activity('Copy1').error.message}",
          "dataFactoryName": "@{pipeline().DataFactory}",
          "pipelineName": "@{pipeline().Pipeline}",
          "receiver": "@pipeline().parameters.receiver"
      }
      

      Visar en skärmbild av inställningarna för den andra webbaktiviteten.

  23. Välj den röda X-knappen till höger om kopieringsaktiviteten i pipelinedesignern och dra och släpp den till SendFailureEmailActivity som du nyss skapade.

    Skärmbild som visar hur du väljer Fel på aktiviteten Kopiera i pipelinedesignern.

  24. Verifiera pipelinen genom att klicka på knappen Verifiera i verktygsfältet. Stäng fönstret Pipeline Validation Output (Resultat av pipelineverifiering) genom att klicka på >>.

    Visar en skärmbild av knappen Verifiera pipeline.

  25. Om du vill publicera entiteter (datauppsättningar, pipeliner osv.) till Data Factory-tjänsten väljer du Publicera alla. Vänta tills du ser meddelandet Framgångsrikt publicerad.

    Visar en skärmbild av knappen Publicera i datafabriksportalen.

Utlös en lyckad pipelinekörning

  1. Om du vill utlösa en pipelinekörning klickar du på Utlösare i verktygsfältet och klickar på Trigger Now (Utlös nu).

    Visar en skärmbild av knappen Utlös nu.

  2. I fönstret Pipeline Run gör följande:

    1. Ange adftutorial/adfv2branch/input för parametern sourceBlobContainer.

    2. Ange adftutorial/adfv2branch/output för parametern sinkBlobContainer.

    3. Ange en e-postadress för mottagaren.

    4. Klicka på Slutför

      Parametrar för pipelinekörning

Övervaka pipelinekörningen för att säkerställa att den är lyckad.

  1. Om du vill övervaka pipelinekörningen väljer du fliken Övervaka till vänster. Du kan se pipelinekörningen som du utlöste manuellt. Du kan uppdatera listan med knappen Uppdatera.

    Lyckad pipelinekörning

  2. Om du vill visa aktivitetskörningar som är associerade med pipelinekörningarna klickar du på den första länken i kolumnen Actions (Åtgärder). Du kan gå tillbaka till föregående vy genom att klicka på Pipeliner högst upp. Du kan uppdatera listan med knappen Uppdatera.

    Skärmbild som visar hur du visar listan över aktivitetskörningar.

Utlös en misslyckad pipelinekörning

  1. Välj fliken Redigera till vänster.

  2. Om du vill utlösa en pipelinekörning klickar du på Utlösare i verktygsfältet och klickar på Trigger Now (Utlös nu).

  3. I fönstret Pipeline Run gör följande:

    1. Ange adftutorial/dummy/input för parametern sourceBlobContainer. Se till att mappen dummy inte finns i containern adftutorial.
    2. Ange adftutorial/dummy/output för parametern sinkBlobContainer.
    3. Ange en e-postadress för mottagaren.
    4. Klicka på Finish.

Övervaka den misslyckade pipelinekörningen

  1. Om du vill övervaka pipelinekörningen väljer du fliken Övervaka till vänster. Du kan se pipelinekörningen som du utlöste manuellt. Du kan uppdatera listan med knappen Uppdatera.

    Misslyckad pipelinekörning

  2. Klicka på länken 'Fel' för pipelinkörningen för att se mer information om felet.

    Pipelinefel

  3. Om du vill visa aktivitetskörningar som är associerade med pipelinekörningarna klickar du på den första länken i kolumnen Actions (Åtgärder). Du kan uppdatera listan med knappen Uppdatera. Observera att kopieringsaktiviteten i pipelinen misslyckades. Webbaktiviteten lyckades skicka ett felmeddelande via e-post till angiven mottagare.

    Aktivitetskörningar

  4. Klicka på fellänken i kolumnen Actions (Åtgärder) om du vill visa mer information om felet.

    Fel vid aktivitetskörning

I den här självstudiekursen utförde du följande steg:

  • Skapa en datafabrik.
  • Skapa en länkad Azure Storage-tjänst.
  • Skapa en Azure Blob-datauppsättning
  • Skapa en pipeline som innehåller en kopieringsaktivitet och en webbaktivitet
  • Skicka utdata för aktiviteter till efterföljande aktiviteter
  • Använda parameteröverföring och systemvariabler
  • Starta en körning av pipeline
  • Övervaka arbetsflödet och aktivitetsskörningarna

Nu kan du gå vidare till begreppsavsnittet för mer information om Azure Data Factory.