Förgrening och länkning av aktiviteter i en Azure Data Factory pipeline med hjälp av Azure Portal

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

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 den här självstudiekursen får du göra följande:

  • 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-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 en Azure-prenumeration kan du skapa 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 något Azure Storage-konto kan du läsa artikeln Skapa ett lagringskonto för steg för att skapa ett.
  • Azure SQL Database. Du använder databasen som mottagare för datalagringen. Om du inte har en 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

För att utlösa utskicket av ett e-postmeddelande från pipelinen använder du Logic Apps för att definiera arbetsflödet. Mer information om hur du skapar ett Logic App-arbetsflöde finns i Skapa en logikapp.

Lyckat e-postarbetsflöde

Skapa ett Logic App-arbetsflöde med namnet CopySuccessEmail. Definiera arbetsflödesutlösaren som When an HTTP request is received, och lägg till en Office 365 Outlook – Send an email-åtgärd.

Success email workflow

För begärandeutlösaren fyller du i Request Body JSON Schema med följande JSON:

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

Din begäran i Logic App Designer ska se ut som på följande bild:

Logic App designer - request

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

Logic App designer - send email action

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 ytterligare ett Logic Apps-arbetsflöde för CopyFailEmail. Request Body JSON schema är samma i begärandeutlösaren. Ä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:

Logic App designer - 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. Användargränssnittet för Data Factory stöds för närvarande bara i webbläsarna Microsoft Edge och Google Chrome.

  2. På den vänstra menyn väljer du Skapa en resursData>+ AnalysData>Factory:

    Data Factory selection in the "New" pane

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

    New data factory page

    Namnet på Azure-datafabriken 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. På instrumentpanelen visas följande panel med status: Distribuera datafabrik.

    deploying data factory tile

  11. När datafabriken har skapats visas sidan Datafabrik som på bilden.

    Data factory home page

  12. Klicka på panelen Redigera & övervakare för att starta Azure Data Factory användargränssnitt 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 .

    Screenshot that shows the ADF home page.

  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 – parameter i pipelinen som används av blob-datauppsättningen för mottagaren
    • receiver – den här parametern används av de två webbaktiviteterna i pipelinen som skickar e-postmeddelanden om lyckade eller misslyckade händelser till mottagaren vars e-postadress anges av den här parametern.

    New pipeline menu

  3. I verktygslådan Aktiviteter visar du Dataflöde och drar och släpper aktiviteten Kopiera till pipelinedesignytan.

    Drag-drop copy activity

  4. 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 teh copy activity.

  5. Välj Azure Blob Storage i fönstret Ny datauppsättning och klicka på Slutför.

    Select Azure Blob Storage

  6. En ny flik med namnet AzureBlob1 visas. Ändra namnet på datauppsättningen till SourceBlobDataset.

    Dataset general settings

  7. Välj fliken Anslutning i fönstret Egenskaper och klicka på Ny för Länkad tjänst. I det här steget skapar du en länkad tjänst för att länka ditt Azure Storage-konto till datafabriken.

    Dataset connection - new linked service

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

    New Azure Storage linked service

  9. Ange @pipeline().parameters.sourceBlobContainer för mappen och emp.txt för filnamnet. Du kan använda pipelineparametern sourceBlobContainer för att ange sökvägen till mappen för datauppsättningen.

    Source dataset settings

  10. Välj fliken Pipeline, eller klicka på pipelinen i trädvyn. Bekräfta att SourceBlobDataset har valts för Source Dataset (Källdatauppsättning).

Source dataset

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

    New sink dataset button

  2. Välj Azure Blob Storage i fönstret Ny datauppsättning och klicka på Slutför.

  3. På sidan Allmänna inställningar för datauppsättningen anger du SinkBlobDataset som namn.

  4. Välj fliken Anslutning och gör följande:

    1. Välj AzureStorageLinkedService för LinkedService.

    2. Ange @pipeline().parameters.sinkBlobContainer för mappen.

    3. Ange @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.

      Sink dataset settings

  5. Välj fliken Pipeline högst upp. Visa Allmänt i verktygslådan Aktiviteter och dra och släpp en webbaktivitet till pipelinedesignytan. 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.

    Drag-drop first Web activity

  6. 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 @{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.

      • Datafabriksnamn – skicka värdet för @{pipeline().DataFactory}. 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.

        Settings for the first Web activity

  7. Anslut kopieringsaktiviteten till webbaktiviteten genom att dra den gröna knappen bredvid kopieringsaktiviteten och släppa den på webbaktiviteten.

    Connect Copy activity with the first Web activity

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

    Name of the second Web activity

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

      Settings for the second Web activity

  10. Välj Kopiera aktivitet i pipelinedesignern och klicka på +-> knappen och välj Fel.

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

  11. Dra den röda knappen bredvid kopieringsaktiviteten till den andra webbaktiviteten, SendFailureEmailActivity. Du kan flytta aktiviteterna så att pipelinen ser ut som på följande bild:

    Full pipeline with all activities

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

    Validate pipeline

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

    Publish

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

    Trigger a pipeline run

  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

Nästa steg

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.