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å:
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
Öppna Anteckningar. Kopiera följande text och spara den som input.txt på disken.
John,Doe Jane,Doe
Gör följande med verktyg som Azure Storage Explorer:
- Skapa containern adfv2branch.
- Skapa mappen input i containern adfv2branch.
- Ö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.
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:
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:
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:
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
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.
På den vänstra menyn väljer du Skapa en resursData>+ AnalysData>Factory:
På sidan Ny datafabrik anger du ADFTutorialDataFactory som namn.
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.
Välj den Azure-prenumeration som du vill skapa den nya datafabriken i.
För resursgruppen utför du något av följande steg:
Välj Använd befintlig och välj en befintlig resursgrupp i listrutan.
Välj Skapa ny och ange namnet på en resursgrupp.
Mer information om resursgrupper finns i Använda resursgrupper till att hantera Azure-resurser.
Välj V2 för versionen.
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.
Välj fäst till instrumentpanelen.
Klicka på Skapa.
På instrumentpanelen visas följande panel med status: Distribuera datafabrik.
När datafabriken har skapats visas sidan Datafabrik som på bilden.
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
På startsidan för Data Factory-användargränssnittet klickar du på orchestrate-panelen .
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.
I verktygslådan Aktiviteter visar du Dataflöde och drar och släpper aktiviteten Kopiera till pipelinedesignytan.
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.
Välj Azure Blob Storage i fönstret Ny datauppsättning och klicka på Slutför.
En ny flik med namnet AzureBlob1 visas. Ändra namnet på datauppsättningen till SourceBlobDataset.
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.
Utför följande steg i fönstret New Linked Service (Ny länkad tjänst):
- Ange AzureStorageLinkedService som namn.
- Välj ditt Azure Storage-konto i Lagringskontonamn.
- Klicka på Spara.
Ange
@pipeline().parameters.sourceBlobContainer
för mappen ochemp.txt
för filnamnet. Du kan använda pipelineparametern sourceBlobContainer för att ange sökvägen till mappen för datauppsättningen.Välj fliken Pipeline, eller klicka på pipelinen i trädvyn. Bekräfta att SourceBlobDataset har valts för Source Dataset (Källdatauppsättning).
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.
Välj Azure Blob Storage i fönstret Ny datauppsättning och klicka på Slutför.
På sidan Allmänna inställningar för datauppsättningen anger du SinkBlobDataset som namn.
Välj fliken Anslutning och gör följande:
Välj AzureStorageLinkedService för LinkedService.
Ange
@pipeline().parameters.sinkBlobContainer
för mappen.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.
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.
Välj fliken Inställningar på fliken Allmänt och gör följande:
För URL anger du URL:en för logic apps-arbetsflödet som skickar e-postmeddelandet om att det lyckades.
Välj POST som metod.
Klicka på länken + Add header (Lägg till sidhuvud) i avsnittet Headers (Sidhuvud).
Lägg till Content-Type (Innehållstyp) och ge den värdet application/json.
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.
Anslut kopieringsaktiviteten till webbaktiviteten genom att dra den gröna knappen bredvid kopieringsaktiviteten och släppa den på webbaktiviteten.
Dra och släpp en till webbaktivitet från verktygslådan Aktiviteter till pipelinedesignytan och ange SendFailureEmailActivity som namn.
Växla till fliken Inställningar och gör följande:
För URL anger du URL:en för logic apps-arbetsflödet som skickar e-postmeddelandet om att det misslyckades.
Välj POST som metod.
Klicka på länken + Add header (Lägg till sidhuvud) i avsnittet Headers (Sidhuvud).
Lägg till Content-Type (Innehållstyp) och ge den värdet application/json.
Ange följande JSON för Body (meddelandetext).
{ "message": "@{activity('Copy1').error.message}", "dataFactoryName": "@{pipeline().DataFactory}", "pipelineName": "@{pipeline().Pipeline}", "receiver": "@pipeline().parameters.receiver" }
Välj Kopiera aktivitet i pipelinedesignern och klicka på +-> knappen och välj Fel.
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:
Verifiera pipelinen genom att klicka på Verifiera i verktygsfältet. Stäng fönstret Pipeline Validation Output (Resultat av pipelineverifiering) genom att klicka på >>.
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.
Utlös en lyckad pipelinekörning
Om du vill utlösa en pipelinekörning klickar du på Utlösare i verktygsfältet och klickar på Trigger Now (Utlös nu).
Gör följande i fönstret Pipeline Run (Pipelinekörning):
Ange adftutorial/adfv2branch/input för parametern sourceBlobContainer.
Ange adftutorial/adfv2branch/output för parametern sinkBlobContainer.
Ange en e-postadress för mottagaren.
Klicka på Slutför
Övervaka den lyckade pipelinekörningen
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.
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.
Utlös en misslyckad pipelinekörning
Välj fliken Redigera till vänster.
Om du vill utlösa en pipelinekörning klickar du på Utlösare i verktygsfältet och klickar på Trigger Now (Utlös nu).
Gör följande i fönstret Pipeline Run (Pipelinekörning):
- Ange adftutorial/dummy/input för parametern sourceBlobContainer. Se till att mappen dummy inte finns i containern adftutorial.
- Ange adftutorial/dummy/output för parametern sinkBlobContainer.
- Ange en e-postadress för mottagaren.
- Klicka på Finish.
Övervaka den misslyckade pipelinekörningen
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.
Klicka på fellänken för pipelinen om du vill visa mer information om felet.
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.
Klicka på fellänken i kolumnen Actions (Åtgärder) om du vill visa mer information om felet.
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.