Delen via


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

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Aanbeveling

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 overzicht op hoog niveau van het scenario: In het diagram ziet u Azure Blob Storage. Dit is het doel van een kopie, die, bij succes, een e-mailbericht met details verzendt of, bij een fout, een e-mailbericht met foutdetails verzendt.

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 blobopslag als brongegevensarchief . Als u geen Azure-opslagaccount hebt, raadpleegt u het artikel Een opslagaccount maken voor stappen om er een te maken.
  • Azure SQL Database-. U gebruikt de database als sink gegevensarchief. Als u geen database in Azure SQL Database hebt, raadpleegt u het artikel Een database maken in Azure SQL Database voor stappen om er een te maken.

Blobtabel maken

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

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

    1. Maak de adfv2branch container.
    2. Maak de map input in de adfv2branch container.
    3. Upload input.txt bestand 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.

Toont een schermopname van de succesvolle e-mailworkflow.

Vul voor de verzoektrigger het JSON-schema van het verzoeklichaam 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:

Toont een schermopname van de werkstroomontwerper met aanvraagtrigger.

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:

Toont een schermopname van de werkstroomontwerper met de actie Een e-mailbericht verzenden.

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:

Toont een screenshot van de workflow-ontwerper met de workflow voor e-mail versturen bij een mislukking.

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 Analytics>Data Factory :

    Toont een schermopname van de Data Factory-selectie in het

  3. Voer op de pagina Nieuwe gegevensfabriekADFTutorialDataFactory in als naam.

    Nieuwe gegevensfabriek-pagina

    De naam van de Azure-data factory 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 naamgevingsregels voor Data Factory-artefacten.

    De naam van de data factory 'ADFTutorialDataFactory' is niet beschikbaar.

  4. Selecteer uw Azure-abonnement waarin u de data factory wilt maken.

  5. Voor de resourcegroep voert u een van de volgende stappen uit:

  6. Selecteer V2 voor de versie.

  7. Selecteer de locatie voor de data factory. 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 Maken.

  10. Nadat het maken is voltooid, ziet u de data factory-pagina zoals weergegeven in de afbeelding.

    Toont een schermopname van de startpagina van data factory.

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

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 .

    Toont een schermopname van de startpagina van data factory met de tegel Orchestrate gemarkeerd.

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

    • sourceBlobContainer - parameter in de pijplijn die wordt gebruikt door de bronblobgegevensset.
    • sinkBlobContainer - parameter van de pijplijn, gebruikt door de sink-blobdataset
    • 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.

    Toont een schermopname van het menu Nieuwe pijplijn.

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

    Toont een schermopname die laat zien hoe u de kopieeractiviteit naar de ontwerpfunctie voor pijplijnen sleept en neer zet.

  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.

    Schermopname van het maken van een brongegevensset voor de kopieeractiviteit.

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

    Toont een schermopname van de knop Azure Blob Storage selecteren.

  6. Selecteer in het venster Indeling selecterenDelimitedText en selecteer Doorgaan.

    Toont een schermafbeelding van het venster 'Selecteer Opmaak' waarbij het formaat DelimitedText is gemarkeerd.

  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.

    Toont een schermopname van het

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

    Toont een schermopname van het verbindingsvenster van de gegevensset met de knop Nieuwe gekoppelde service gemarkeerd.

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

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

    Toont een schermopname van de gegevensset

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

    Toont een schermopname van de instellingen voor de brongegevensset.

  12. Ga terug naar het tabblad Pipeline (of klik op de pipeline in de structuurweergave aan de linkerkant) en selecteer de Kopieer-activiteit in de ontwerper. Controleer of uw nieuwe gegevensset is geselecteerd voor de brongegevensset.

    Toont een schermopname van de brongegevensset.

  13. Ga in het eigenschappenvenster 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.

    Toont een schermopname van de knop nieuwe sinkgegevensset

  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 Verbinding-tabblad 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 expressies voor de ondersteunde lijst met systeemvariabelen en expressietaal.

    Toont een schermopname van de instellingen van de Sink-gegevensset.

  18. Ga terug naar het tabblad Pijplijn bovenaan. Zoek naar Web in het zoekvak en sleep een Web-activiteit 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 Webactiviteit voor meer informatie over de activiteit. Deze pijplijn gebruikt een webactiviteit voor het aanroepen van de Logic Apps-e-mailwerkstroom.

    Toont een schermopname die laat zien hoe u de eerste webactiviteit sleept en neer zet.

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

    1. Geef voor URL de URL op voor de werkstroom van logic apps waarmee de e-mail met succes wordt verzonden.

    2. Selecteer POST voor methode.

    3. Klik op + Voeg een koptekst toe in de sectie Kopteksten.

    4. Voeg een header Content-Type toe en stel deze in op application/json.

    5. Geef de volgende JSON voor hoofdtekst op.

      {
          "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 het artikel Systeemvariabelen voor een lijst met 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.

        Toont een schermopname van de instellingen voor de eerste webactiviteit.

  20. Verbind de kopieeractiviteit met de webactiviteit door het groene selectievakje naast de kopieeractiviteit te slepen en neer te leggen op de webactiviteit.

    Toont een schermopname die laat zien hoe u de kopieeractiviteit verbindt met de eerste webactiviteit.

  21. Sleep een andere webactiviteit vanuit de werkset Activiteiten naar het ontwerpoppervlak voor pijplijnen en stel de naam in op SendFailureEmailActivity.

    Toont een schermopname van de naam van de tweede webactiviteit.

  22. Ga naar het tabblad Instellingen en voer de volgende stappen uit:

    1. Geef voor URL de URL op voor de werkstroom van logische apps waarmee de e-mail met fouten wordt verzonden.

    2. Selecteer POST voor methode.

    3. Klik op + Voeg een koptekst toe in de sectie Kopteksten.

    4. Voeg een header Content-Type toe en stel deze in op application/json.

    5. Geef de volgende JSON voor hoofdtekst op.

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

      Toont een schermopname van de instellingen voor de tweede webactiviteit.

  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.

    Schermopname die laat zien hoe u Fout selecteert in de kopieeractiviteit in de ontwerpfunctie voor pijplijnen.

  24. Als u de pijplijn wilt valideren, klikt u op de knop Valideren op de werkbalk. Sluit het venster Pijplijnvalidatie-uitvoer door op de >> knop te klikken.

    Toont een schermopname van de knop Pijplijn valideren.

  25. Als u de entiteiten (gegevenssets, pijplijnen enzovoort) wilt publiceren naar de Data Factory-service, selecteert u Alles publiceren. Wacht tot je het bericht Succesvol gepubliceerd ziet.

    Toont een schermopname van de knop Publiceren in de data factory-portal.

Een pijplijnuitvoering activeren die slaagt

  1. Als u een pijplijnuitvoering wilt activeren , klikt u op Trigger op de werkbalk en klikt u op Nu activeren.

    Toont een schermopname van de knop Nu activeren.

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

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

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

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

    4. Klik op Voltooien

      Parameters voor pijplijnuitvoering

De geslaagde pijplijnuitvoering controleren

  1. Als u de pijplijnuitvoering wilt bewaken, schakelt u over naar het tabblad Monitor aan de linkerkant. U ziet de pijplijnuitvoering die handmatig door u is geactiveerd. Gebruik de knop Vernieuwen om de lijst te vernieuwen.

    Geslaagde pijplijnuitvoering

  2. Als u activiteitsuitvoeringen wilt weergeven die zijn gekoppeld aan deze pijplijnuitvoering, klikt u op de eerste koppeling in de kolom Acties . U kunt teruggaan naar de vorige weergave door bovenaan op Pijplijnen te klikken. Gebruik de knop Vernieuwen om de lijst te vernieuwen.

    Schermopname die laat zien hoe u de lijst met uitvoeringen van activiteiten kunt bekijken.

Een pijplijnuitvoering activeren die mislukt

  1. Ga naar het tabblad Bewerken aan de linkerkant.

  2. Als u een pijplijnuitvoering wilt activeren , klikt u op Trigger op de werkbalk en klikt u op Nu activeren.

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

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

De mislukte pijplijnuitvoering controleren

  1. Als u de pijplijnuitvoering wilt bewaken, schakelt u over naar het tabblad Monitor aan de linkerkant. U ziet de pijplijnuitvoering die handmatig door u is geactiveerd. Gebruik de knop Vernieuwen om de lijst te vernieuwen.

    Mislukte pijplijnuitvoering

  2. Klik op de foutlink van de pijplijnuitvoering om details over de fout te bekijken.

    Pijplijnfout

  3. Als u activiteitsuitvoeringen wilt weergeven die zijn gekoppeld aan deze pijplijnuitvoering, klikt u op de eerste koppeling in de kolom Acties . 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.

    Uitvoeringen van activiteit

  4. Klik op de koppeling Fout in de kolom Acties om details over de fout weer te geven.

    Fout bij uitvoering van activiteit

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.