Share via


Gegevens kopiëren en e-mailmeldingen verzenden over geslaagd en mislukt

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In deze zelfstudie maakt u een Data Factory-pijplijn die enkele van de stroombeheerfuncties demonstreert. Deze pijplijn voert een eenvoudige kopieerbewerking uit van een container in Azure Blob Storage naar een andere container in hetzelfde opslagaccount. Als de kopieerbewerking is geslaagd, worden de details over de geslaagde kopieerbewerking (zoals de hoeveelheid geschreven gegevens) via de pijplijn verzonden in een e-mail met een succesbericht. Als de kopieerbewerking is mislukt, worden de details over de mislukte kopieerbewerking (zoals de foutmelding) via de pijplijn verzonden in een e-mail met de foutmelding. In de zelfstudie ziet u hoe u parameters kunt doorgeven.

Een algemeen overzicht van het scenario: 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.

In deze zelfstudie voert u de volgende stappen uit:

  • Een data factory maken.
  • Een gekoppelde Azure Storage-service maken
  • Een Azure Blob-gegevensset maken
  • Een pijplijn maken met een kopieeractiviteit en een webactiviteit
  • Verzenden van uitvoer van activiteiten naar latere activiteiten
  • Parameters doorgeven en systeemvariabelen gebruiken
  • Een pijplijnuitvoering starten
  • De uitvoering van de pijplijn en van de activiteit controleren

In deze zelfstudie wordt Azure Portal gebruikt. U kunt andere methoden gebruiken voor interactie met Azure Data Factory. Kijk voor voorbeelden onder 'Quickstarts' (Snelstartgidsen) in de inhoudsopgave.

Vereisten

  • Azure-abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
  • Azure Storage-account. U gebruikt de blob-opslag als bron-gegevensopslag. Als u geen Azure-opslagaccount hebt, raadpleegt u het artikel Een opslagaccount maken om een account te maken.
  • Azure SQL-database. U gebruikt de database als sink-gegevensopslag. Als u geen database in Azure SQL Database hebt, raadpleegt u het artikel Een database in Azure SQL Database maken om te stappen te zien om er een te maken.

Blobtabel maken

  1. Start Kladblok. Kopieer de volgende tekst en sla deze op schijf op in het bestand input.txt.

    John,Doe
    Jane,Doe
    
  2. Gebruik hulpprogramma's zoals Azure Storage Explorer om de volgende stappen uit te voeren:

    1. Maak de container adfv2branch.
    2. Maak de invoermap in de container adfv2branch.
    3. Upload het bestand input.txt naar de container.

Eindpunten voor de e-mailwerkstroom maken

Als u het verzenden van een e-mailbericht vanuit de pijplijn wilt activeren, gebruikt u Azure Logic Apps om de werkstroom te definiëren. Zie Een voorbeeldwerkstroom voor logische apps maken voor meer informatie over het maken van een werkstroom voor logische apps voor verbruik.

Werkstroom voor e-mail met succesbericht

Maak een werkstroom voor de logische app Verbruik met de naam CopySuccessEmail. Voeg de aanvraagtrigger toe met de naam Wanneer een HTTP-aanvraag wordt ontvangen en voeg de Outlook-actie office 365 toe met de naam Een e-mail verzenden. Meld u aan bij uw Office 365 Outlook-account als u hierom wordt gevraagd.

Shows a screenshot of the Success email workflow.

Vul voor de aanvraagtrigger het JSON-schema voor de aanvraagbody in met de volgende JSON:

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

De aanvraagtrigger in de werkstroomontwerper moet er als volgt uitzien:

Shows a screenshot of the workflow designer with Request trigger.

Voor de actie Een e-mail verzenden past u aan hoe u het e-mailbericht wilt opmaken met behulp van de eigenschappen die zijn doorgegeven in het JSON-schema van de aanvraagbody. Dit is een voorbeeld:

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

Sla de werkstroom op. Noteer de URL van de HTTP POST-aanvraag voor uw werkstroom voor de e-mail met het succesbericht:

//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

Werkstroom voor e-mail met foutbericht

Volg dezelfde stappen om een andere werkstroom voor logische apps met de naam CopyFailEmailte maken. In de aanvraagtrigger is de JSON-schemawaarde van de aanvraagbody hetzelfde. Wijzig de indeling van uw e-mailbericht net als het Subject om er een e-mail met de foutmelding van te maken. Dit is een voorbeeld:

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

Sla de werkstroom op. Noteer de URL van de HTTP POST-aanvraag voor uw werkstroom voor de e-mail met het foutbericht:

//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

Als het goed is, hebt u nu twee werkstroom-URL's:

//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

Een data factory maken

  1. Start de webbrowser Microsoft Edge of Google Chrome. Op dit moment wordt de Data Factory-gebruikersinterface alleen ondersteund in de webbrowsers Microsoft Edge en Google Chrome.

  2. Vouw het menu linksboven uit en selecteer Een resource maken. Selecteer >vervolgens 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. Voer op de blade New data factoryADFTutorialDataFactory in bij Name.

    New data factory page

    De naam van de Azure-gegevensfactory moet wereldwijd uniek zijn. Als u het volgende foutbericht krijgt, wijzigt u de naam van de gegevensfactory (bijvoorbeeld uwnaamADFTutorialDataFactory) en probeert u het opnieuw. Zie het artikel Data factory - Naamgevingsregels voor meer informatie over naamgevingsregels voor Data Factory-artefacten.

    Data factory-naam 'ADFTutorialDataFactory' is niet beschikbaar.

  4. Selecteer het Azure-abonnement waarin u de gegevensfactory wilt maken.

  5. Voer een van de volgende stappen uit voor de Resourcegroep:

  6. Selecteer V2 als de versie.

  7. Selecteer de locatie voor de gegevensfactory. In de vervolgkeuzelijst worden alleen ondersteunde locaties weergegeven. De gegevensopslagexemplaren (Azure Storage, Azure SQL Database, enzovoort) en berekeningen (HDInsight, enzovoort) die worden gebruikt in Data Factory, kunnen zich in andere regio's bevinden.

  8. Selecteer Vastmaken aan dashboard.

  9. Klik op Create.

  10. Wanneer het maken is voltooid, ziet u de pagina Data Factory zoals in de afbeelding wordt weergegeven.

    Shows a screenshot of the data factory home page.

  11. Klik op De tegel Azure Data Factory Studio openen om de Gebruikersinterface (UI) van Azure Data Factory op een afzonderlijk tabblad te starten.

Een pipeline maken

In deze stap maakt u een pijplijn met één kopieeractiviteit en twee webactiviteiten. U gebruikt de volgende functies om de pijplijn te maken:

  • Parameters voor de pijplijn die wordt gebruikt voor gegevenssets.
  • Webactiviteit waarmee Logic Apps-werkstromen worden aangeroepen voor het verzenden van e-mail met een succesbericht of foutmelding.
  • Een activiteit verbinden met een andere activiteit (bij slagen en mislukken)
  • De uitvoer van een activiteit gebruiken als invoer voor de volgende activiteit
  1. Klik op de startpagina van de Data Factory-gebruikersinterface op de tegel Orchestrate .

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

  2. Ga in het venster Eigenschappen voor de pijplijn naar het tabblad Parameters en gebruik de knop Nieuw om de volgende drie parameters toe te voegen van het type Tekenreeks: sourceBlobContainer, sinkBlobContainer en ontvanger.

    • sourceBlobContainer - parameter in de pijplijn die wordt gebruikt voor de bron-blob-gegevensset.
    • sinkBlobContainer - parameter in de pijplijn die wordt gebruikt door de sink-blobgegevensset
    • ontvanger : deze parameter wordt gebruikt door de twee webactiviteiten in de pijplijn die e-mailberichten met succes of mislukt verzenden naar de ontvanger waarvan het e-mailadres is opgegeven door deze parameter.

    Shows a screenshot of the New pipeline menu.

  3. Zoek in de werkset Activiteiten naar Kopiëren en sleep de kopieeractiviteit naar het ontwerpoppervlak voor pijplijnen.

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

  4. Selecteer de kopieeractiviteit die u naar het ontwerpoppervlak voor pijplijnen hebt gesleept. Ga in het venster Eigenschappen voor de kopieeractiviteit onderaan naar het tabblad Bron en klik op + Nieuw. In deze stap maakt u een brongegevensset voor de kopieeractiviteit.

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

  5. Selecteer in het venster Nieuwe gegevensset het tabblad Azure bovenaan en kies vervolgens Azure Blob Storage en selecteer Doorgaan.

    Shows a screenshot of the select Azure Blob Storage button.

  6. Kies in het venster Indeling selecteren de optie DelimitedText en selecteer Doorgaan.

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

  7. U ziet een nieuw tabblad met de titel Eigenschappen instellen. Wijzig de naam van de gegevensset in SourceBlobDataset. Selecteer de vervolgkeuzelijst Gekoppelde service en kies +Nieuw om een nieuwe gekoppelde service te maken voor uw brongegevensset.

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

  8. U ziet het venster Nieuwe gekoppelde service waarin u de vereiste eigenschappen voor de gekoppelde service kunt invullen.

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

  9. Voer in het venster Nieuwe gekoppelde service de volgende stappen uit:

    1. Voer AzureStorageLinkedService in als Naam.
    2. Selecteer uw Azure-opslagaccount als Naam van opslagaccount.
    3. Klik op Create.
  10. Selecteer in het venster Eigenschappen instellen dat vervolgens wordt weergegeven, deze gegevensset openen om een geparameteriseerde waarde voor de bestandsnaam in te voeren.

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

  11. Voer @pipeline().parameters.sourceBlobContainer in als de map en emp.txt als de bestandsnaam.

    Shows a screenshot of the source dataset settings.

  12. Ga terug naar het tabblad Pijplijn (of klik op de pijplijn in de structuurweergave aan de linkerkant) en selecteer de kopieeractiviteit in de ontwerpfunctie. Controleer of uw nieuwe gegevensset is geselecteerd voor de brongegevensset.

    Shows a screenshot of the source dataset.

  13. Ga in het venster Eigenschappen naar het tabblad Sink en klik op + Nieuw voor Sink-gegevensset. In deze stap maakt u een sink-gegevensset voor de kopieeractiviteit. Dit doet u op dezelfde manier als waarop u de brongegevensset hebt gemaakt.

    Shows a screenshot of the new sink dataset button

  14. Selecteer Azure Blob Storage in het venster Nieuwe gegevensset en klik op Doorgaan en selecteer vervolgens DelimitedText opnieuw in het venster Indeling selecteren en klik nogmaals op Doorgaan.

  15. Voer op de pagina Eigenschappen instellen voor de gegevensset SinkBlobDataset voor Naam in en selecteer AzureStorageLinkedService voor LinkedService.

  16. Vouw de sectie Geavanceerd van de eigenschappenpagina uit en selecteer Deze gegevensset openen.

  17. Bewerk het bestandspad op het tabblad Verbinding maken ion van de gegevensset. Voer @pipeline().parameters.sinkBlobContainer in voor de map en @concat(pipeline().RunId, '.txt') voor de bestandsnaam. Voor de expressie wordt de id van de huidige pijplijnuitvoering gebruikt als de bestandsnaam. Zie Systeemvariabelen en Expressietaal voor de lijst met ondersteunde systeemvariabelen en expressies.

    Shows a screenshot of the Sink dataset settings.

  18. Ga terug naar het tabblad Pijplijn bovenaan. Zoek naar internet in het zoekvak en sleep een webactiviteit naar het ontwerpoppervlak voor pijplijnen. Stel de naam van de activiteit in op SendSuccessEmailActivity. De Web Activity (webactiviteit) staat een aanroep toe naar elk REST-eindpunt. Zie voor meer informatie over de activiteit Webactiviteit. Deze pijplijn gebruikt een webactiviteit voor het aanroepen van de Logic Apps-e-mailwerkstroom.

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

  19. Ga vanuit het tabblad Algemeen naar het tabblad Instellingen en voer de volgende stappen uit:

    1. Geef bij URL de URL voor de Logic Apps-werkstroom op waarmee de e-mail met het succesbericht wordt verzonden.

    2. Selecteer POST als Methode.

    3. Klik op de koppeling + Koptekst toevoegen in de sectie Kopteksten.

    4. Voeg een koptekst Inhoudstype toe en stel deze in op application/json.

    5. Geef de volgende JSON op als Hoofdtekst.

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

      De hoofdtekst van het bericht bevat de volgende eigenschappen:

      • Bericht - Doorgegeven waarde van @{activity('Copy1').output.dataWritten. Leest een eigenschap van de vorige kopieeractiviteit en geeft de waarde van dataWritten door. In het geval waarin het kopiëren mislukt, wordt de uitvoer van de fout doorgegeven in plaats van @{activity('CopyBlobtoBlob').error.message.

      • Data Factory-naam: de doorgegeven waarde van @{pipeline().DataFactory} dit is een systeemvariabele, zodat u toegang hebt tot de bijbehorende data factory-naam. Zie voor een lijst van systeemvariabelen het artikel System Variables (Systeemvariabelen).

      • Pijplijnnaam - Doorgegeven waarde van @{pipeline().Pipeline}. Dit is ook een systeemvariabele, zodat u toegang hebt tot de bijbehorende pijplijnnaam.

      • Ontvanger: de waarde '@pipeline().parameters.receiver' doorgeven. Toegang tot de pijplijnparameters.

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

  20. Verbinding maken de Kopieeractiviteit naar de webactiviteit door het groene selectievakje naast de Copy-activiteit te slepen en neer te vallen op de webactiviteit.

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

  21. Gebruik slepen-en-neerzetten om nog een Webactiviteit uit de Activiteiten-werkset te verplaatsen naar het ontwerpoppervlak voor pijplijnen, en stel de naam in op SendFailureEmailActivity.

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

  22. Open het tabblad Settings en voer de volgende stappen uit:

    1. Geef bij URL de URL voor de Logic Apps-werkstroom op waarmee de e-mail met de foutmelding wordt verzonden.

    2. Selecteer POST als Methode.

    3. Klik op de koppeling + Koptekst toevoegen in de sectie Kopteksten.

    4. Voeg een koptekst Inhoudstype toe en stel deze in op application/json.

    5. Geef de volgende JSON op als Hoofdtekst.

      {
          "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. Selecteer de rode X-knop aan de rechterkant van de kopieeractiviteit in de pijplijnontwerper en sleep deze naar de SendFailureEmailActivity die u zojuist hebt gemaakt.

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

  24. Valideer de pijplijn door te klikken op de knop Validate op de werkbalk. Sluit het venster met de uitvoergegevens van de pijplijnvalidatie door op de knop >> te klikken.

    Shows a screenshot of the Validate pipeline button.

  25. Als u entiteiten (gegevenssets, pijplijnen enzovoort) wilt publiceren in de Data Factory-service, selecteert u Alles publiceren. Wacht totdat het bericht Successfully published wordt weergegeven.

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

Een pijplijnuitvoering activeren die slaagt

  1. Klik in de werkbalk op Activeren en klik op Nu activeren om een pijplijnuitvoering te activeren.

    Shows a screenshot of the Trigger Now button.

  2. Voer in het venster Pijplijnuitvoering de volgende stappen uit:

    1. Voer adftutorial/adfv2branch/input in als de parameter sourceBlobContainer.

    2. Voer adftutorial/adfv2branch/output in als de parameter sinkBlobContainer.

    3. Voer een e-mailadres van de ontvanger in.

    4. Klik op Voltooien

      Pipeline run parameters

De geslaagde pijplijnuitvoering controleren

  1. Ga naar het tabblad Controleren aan de linkerkant om de pijplijnuitvoering te controleren. U ziet de pijplijnuitvoering die handmatig door u is geactiveerd. Gebruik de knop Vernieuwen om de lijst te vernieuwen.

    Successful pipeline run

  2. Klik op de eerste koppeling in de kolom Acties om de uitvoeringen van activiteit weer te geven die zijn gekoppeld aan deze pijplijnuitvoering. Als u wilt terugkeren naar de vorige weergave, klikt u bovenaan op Pijplijnen. Gebruik de knop Vernieuwen om de lijst te vernieuwen.

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

Een pijplijnuitvoering activeren die mislukt

  1. Ga naar het tabblad Bewerken aan de linkerkant.

  2. Klik in de werkbalk op Activeren en klik op Nu activeren om een pijplijnuitvoering te activeren.

  3. Voer in het venster Pijplijnuitvoering de volgende stappen uit:

    1. Voer adftutorial/dummy/input in als de parameter sourceBlobContainer. Controleer of de dummymap niet bestaat in de container adftutorial.
    2. Voer adftutorial/dummy/output in als de parameter sinkBlobContainer.
    3. Voer een e-mailadres van de ontvanger in.
    4. Klik op Voltooien.

De mislukte pijplijnuitvoering controleren

  1. Ga naar het tabblad Controleren aan de linkerkant om de pijplijnuitvoering te controleren. U ziet de pijplijnuitvoering die handmatig door u is geactiveerd. Gebruik de knop Vernieuwen om de lijst te vernieuwen.

    Failure pipeline run

  2. Klik op de Foutkoppeling voor de pijplijnuitvoering voor de details over de fout.

    Pipeline error

  3. Klik op de eerste koppeling in de kolom Acties om de uitvoeringen van activiteit weer te geven die zijn gekoppeld aan deze pijplijnuitvoering. Gebruik de knop Vernieuwen om de lijst te vernieuwen. U ziet dat de kopieeractiviteit in de pijplijn is mislukt. De e-mail met de foutmelding is via de webactiviteit verzonden naar de opgegeven server.

    Activity runs

  4. Klik op de Foutkoppeling in de kolom Acties voor de details over de fout.

    Activity run error

In deze zelfstudie hebt u de volgende stappen uitgevoerd:

  • Een data factory maken.
  • Een gekoppelde Azure Storage-service maken
  • Een Azure Blob-gegevensset maken
  • Een pijplijn met een kopieeractiviteit en een webactiviteit maken
  • Verzenden van uitvoer van activiteiten naar latere activiteiten
  • Parameters doorgeven en systeemvariabelen gebruiken
  • Een pijplijnuitvoering starten
  • De uitvoering van de pijplijn en van de activiteit controleren

U kunt nu doorgaan naar de sectie Concepten voor meer informatie over Azure Data Factory.