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å: Diagram shows Azure Blob Storage, which is the target of a copy, which, on success, sends an email with details or, on failure, sends an email with error details.

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.

Shows a screenshot of the Success email workflow.

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:

Shows a screenshot of the workflow designer with Request trigger.

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:

Shows a screenshot of the workflow designer with the action named Send an email.

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:

Shows a screenshot of the workflow designer with the fail email workflow.

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:

    Shows a screenshot of the "Create a resource" button in the Azure portal.

    Shows a screenshot of the Data Factory selection in the "New" pane.

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

    New data factory page

    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.

    Shows a screenshot of the data factory home page.

  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.

    Shows a screenshot of the data factory home page with the Orchestrate tile highlighted.

  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.

    Shows a screenshot of the New pipeline menu.

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

    Shows a screenshot demonstrating how to drag and drop the copy activity onto the pipeline designer.

  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.

    Screenshot that shows how to create a source dataset for the copy activity.

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

    Shows a screenshot of the select Azure Blob Storage button.

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

    Shows a screenshot of the "Select Format" window with the DelimitedText format highlighted.

  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.

    Shows a screenshot of the "Set properties" window for the dataset, with the "+New" button highlighted under the "Linked service" dropdown.**

  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.

    Shows a screenshot fo the dataset connection window with the new linked service button highlighted.

  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.

    Shows a screenshot of the dataset "Set properties" window with the "Open this dataset" link highlighted.

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

    Shows a screenshot of the source dataset settings.

  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.

    Shows a screenshot of the source dataset.

  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.

    Shows a screenshot of the new sink dataset button

  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 Anslut ion för datauppsättningen 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.

    Shows a screenshot of the Sink dataset settings.

  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.

    Shows a screenshot demonstrating how to drag and drop the first Web activity.

  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.

        Shows a screenshot of the settings for the first Web activity.

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

    Shows a screenshot demonstrating how to connect the Copy activity with the first Web activity.

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

    Shows a screenshot of the name of the second Web activity.

  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"
      }
      

      Shows a screenshot of the settings for the second Web activity.

  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.

    Screenshot that shows how to select Error on the Copy activity in the pipeline designer.

  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å >>.

    Shows a screenshot of the Validate pipeline button.

  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.

    Shows a screenshot of the Publish button in the data factory portal.

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).

    Shows a screenshot of the Trigger Now button.

  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

      Pipeline run parameters

Ö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.

    Successful pipeline run

  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.

    Screenshot that shows how to view the list of activity runs.

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.

    Failure pipeline run

  2. Klicka på fellänken för pipelinen om du vill visa mer information om felet.

    Pipeline error

  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.

    Activity runs

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

    Activity run error

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.