Dela via


Kopiera data och skicka e-postaviseringar om lyckade och misslyckade

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!

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. I självstudiekursen visas olika exempel på hur du skickar 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
  • Skicka parametrar och använda systemvariabler
  • Starta en pipelinekörning
  • Övervaka pipelinen och aktivitetskörningar

I den här självstudien används Azure Portal. 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 mottagare för datalagringen. 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. Starta 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 arbetsflöde för logikappar finns i Skapa ett exempel på arbetsflöde för 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 e-postframgång.

För utlösaren Begäran fyller du i JSON-schemarutan för begärandetext med följande JSON:

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

Utlösaren Förfrågning i arbetsflödesdesignern bör se ut så här:

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:en för HTTP Post-begäran för arbetsflödet för e-postmeddelandet om lyckad kopiering:

//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 e-postmeddelande om misslyckad kopiering

Följ samma steg för att skapa ett annat logikapparbetsflöde med namnet CopyFailEmail. I utlösaren Begäran är JSON-schemavärdet för begärandetext detsamma. Ändra formatet för ditt e-postmeddelande som Subject för att skapa ett e-postmeddelande om att kopieringen misslyckats. 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:en för HTTP Post-begäran för arbetsflödet för e-postmeddelandet om misslyckad kopiering:

//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 Integration>Data Factory:

    Visar en skärmbild av

    Visar en skärmbild av markeringen Data Factory i

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

    Sidan Ny datafabrik

    Namnet på Azure Data Factory måste vara globalt unikt. Om följande fel returneras ändrar du namnet på datafabriken (till exempel dittnamnADFTutorialDataFactory) och provar att skapa fabriken 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 till instrumentpanelen.

  9. Klicka på Skapa.

  10. När datafabriken har skapats visas sidan Datafabrik som på 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 logic apps-arbetsflöden för att skicka e-postmeddelanden (lyckades/misslyckades).
  • 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 blob-datauppsättningen för källan.
    • sinkBlobContainer – parametern i pipelinen som förbrukas av datauppsättningen för mottagarblob
    • 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ärmbild av menyn Ny pipeline.

  3. I verktygslådan Aktiviteter söker du efter Kopiera och drar och släpper aktiviteten Kopiera till pipelinedesignerns yta.

    Visar en skärmbild som visar hur du drar och släpper kopieringsaktiviteten till pipelinedesignern.

  4. Välj den kopieringsaktivitet som du drog till pipelinedesignerns yta. 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 en datauppsättning för mottagare för kopieringsaktiviteten på liknande sätt som när du skapade källdatauppsättningen.

    Visar en skärmbild av den nya datauppsättningsknappen för mottagare

  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 Anslutning till datauppsättning redigerar du sökvägen Fil. 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 datauppsättningsinställningarna för mottagare.

  18. Växla tillbaka till pipelinefliken längst upp. Sök efter webben i sökrutan och dra och släpp en webbaktivitet till pipelinedesignerns yta. 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 (meddelandetext).

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

      Meddelandetexten innehåller följande egenskaper:

      • Meddelande – Skicka 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 – Att skicka värdet @{pipeline().DataFactory} för Detta är en systemvariabel som gör att du kan komma åt motsvarande datafabriksnamn. En lista över systemvariabler finns i artikeln om systemvariabler.

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

      • Mottagare – Skicka värdet "@pipeline().parameters.receiver"). Kommer åt pipelineparametrar.

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

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

    Visar en skärmbild som visar hur du ansluter kopieringsaktiviteten till den första webbaktiviteten.

  21. Dra och släpp en till 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 (meddelandetext).

      {
          "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 i kopieringsaktiviteten 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 om att entiteterna har publicerats.

    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. Gör följande i fönstret Pipeline Run (Pipelinekörning):

    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 den lyckade 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.

    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. Gör följande i fönstret Pipeline Run (Pipelinekörning):

    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å fellänken för pipelinen om du vill visa 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.

    Aktivitetskörningsfel

I den här självstudiekursen fick du:

  • 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
  • Skicka parametrar och använda systemvariabler
  • Starta en pipelinekörning
  • Övervaka pipelinen och aktivitetskörningar

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