Share via


Berichten verzenden, ontvangen en batchverwerkingsberichten in Azure Logic Apps

Van toepassing op: Azure Logic Apps (verbruik)

Als u berichten samen als groepen op een specifieke manier wilt verzenden en verwerken, kunt u een batchverwerkingsoplossing maken. Deze oplossing verzamelt berichten in een batch en wacht totdat aan uw opgegeven criteria wordt voldaan voordat de batchberichten worden vrijgegeven en verwerkt. Batchverwerking kan verminderen hoe vaak uw logische app berichten verwerkt.

Deze instructiegids laat zien hoe u een batchverwerkingsoplossing bouwt door twee logische apps te maken binnen hetzelfde Azure-abonnement, de Azure-regio, en in deze volgorde:

  1. De logische app batchontvanger , die berichten accepteert en verzamelt in een batch totdat aan uw opgegeven criteria wordt voldaan voor het vrijgeven en verwerken van die berichten. Zorg ervoor dat u eerst deze batchontvanger maakt, zodat u later de batchbestemming kunt selecteren wanneer u de batch-afzender maakt.

  2. Een of meer logische apps voor batch-afzenders , die de berichten verzenden naar de eerder gemaakte batchontvanger.

    De afzender van de batch kan een unieke sleutel opgeven die de doelbatch partitioneert of verdeelt in logische subsets op basis van die sleutel. Een klantnummer is bijvoorbeeld een unieke sleutel. Op die manier kan de ontvanger-app alle items met dezelfde sleutel verzamelen en samen verwerken.

Uw batchontvanger en batch-afzender moeten hetzelfde Azure-abonnement en dezelfde Azure-regio delen. Als ze dat niet doen, kunt u de batchontvanger niet selecteren wanneer u de batchverzender maakt, omdat deze niet zichtbaar zijn voor elkaar.

Vereisten

Beperkingen

  • U kunt de inhoud in een batch alleen controleren na de release door de vrijgegeven inhoud te vergelijken met de bron.

  • U kunt een batch alleen vroeg vrijgeven door de releasecriteria in de batchontvanger te wijzigen, zoals wordt beschreven in deze handleiding, terwijl de trigger de batch nog steeds heeft. De trigger gebruikt echter de bijgewerkte releasecriteria voor niet-verzonden berichten.

Batchontvanger maken

Voordat u berichten naar een batch kunt verzenden, moet die batch eerst bestaan als de bestemming waar u deze berichten naartoe verzendt. U moet dus eerst de logische app Batch-ontvanger maken, die begint met de Batch-trigger . Op die manier kunt u bij het maken van de logische app 'batch sender' de logische app voor batchontvanger selecteren. De batchontvanger blijft berichten verzamelen totdat aan de opgegeven criteria voor het vrijgeven en verwerken van die berichten is voldaan. Hoewel batchontvangers niets hoeven te weten over batch-afzenders, moeten afzenders van batches de bestemming weten waar ze de berichten naartoe sturen.

  1. Maak in de Azure Portal of Visual Studio een logische app met deze naam:BatchReceiver

  2. Voeg in de werkstroomontwerper de Batch-trigger toe, waarmee de werkstroom van uw logische app wordt gestart. Voer in het zoekvak in batchen selecteer deze trigger: Batch-berichten

    Trigger Batch-berichten toevoegen

  3. Stel deze eigenschappen in voor de batchontvanger:

    Eigenschap Beschrijving
    Batchmodus - Inline: voor het definiëren van releasecriteria in de batchtrigger
    - Integratieaccount: voor het definiëren van configuraties met meerdere releasecriteria via een integratieaccount. Met een integratieaccount kunt u deze configuraties allemaal op één plek onderhouden in plaats van in afzonderlijke logische apps.
    Batchnaam De naam voor uw batch, die in dit voorbeeld 'TestBatch' is, en alleen van toepassing is op de inlinebatchmodus
    Releasecriteria Is alleen van toepassing op de inlinebatchmodus en selecteert de criteria waaraan moet worden voldaan voordat elke batch wordt verwerkt:

    - Aantal berichten op basis van: laat de batch los op basis van het aantal berichten dat door de batch is verzameld.
    - Grootte op basis van: geef de batch vrij op basis van de totale grootte in bytes voor alle berichten die door die batch worden verzameld.
    - Planning: laat de batch los op basis van een terugkeerschema, waarin een interval en frequentie worden opgegeven. In de geavanceerde opties kunt u ook een tijdzone selecteren en een begindatum en -tijd opgeven.
    - Alles selecteren: gebruik alle opgegeven criteria.

    Aantal berichten Het aantal berichten dat in de batch moet worden verzameld, bijvoorbeeld 10 berichten. De limiet van een batch is 8.000 berichten.
    Batchgrootte De totale grootte in bytes die in de batch moeten worden verzameld, bijvoorbeeld 10 MB. De maximale grootte van een batch is 80 MB.
    Schema Het interval en de frequentie tussen batchreleases, bijvoorbeeld 10 minuten. Het minimale terugkeerpatroon is 60 seconden of 1 minuut. Gefractioneerde minuten worden effectief naar boven afgerond op 1 minuut. Als u een tijdzone of een begindatum en -tijd wilt opgeven, opent u de lijst Nieuwe parameter toevoegen en selecteert u de bijbehorende eigenschappen.

    Notitie

    Als u de releasecriteria wijzigt terwijl de trigger nog steeds berichten in batches maar niet-verzonden heeft, gebruikt de trigger de bijgewerkte releasecriteria voor het verwerken van de niet-verzonden berichten.

    In dit voorbeeld worden alle criteria weergegeven, maar voor uw eigen tests kunt u slechts één criterium proberen:

    Details van Batch-trigger opgeven

  4. Voeg nu een of meer acties toe waarmee elke batch wordt verwerkt.

    In dit voorbeeld voegt u een actie toe waarmee een e-mail wordt verzonden wanneer de batchtrigger wordt geactiveerd. De trigger wordt uitgevoerd en verzendt een e-mailbericht wanneer de batch 10 berichten heeft, 10 MB bereikt of na 10 minuten.

    1. Selecteer onder de batchtrigger Nieuwe stap.

    2. Voer in het zoekvak send email als uw filter in. Selecteer een e-mailconnector op basis van uw e-mailprovider.

      Als u bijvoorbeeld een werk- of schoolaccount hebt, zoals @fabrikam.com of @fabrikam.onmicrosoft.com, selecteert u de Microsoft 365 Outlook-connector . Als u een persoonlijk account hebt, zoals @outlook.com of @hotmail.com, selecteert u de connector Outlook.com . In dit voorbeeld wordt de Microsoft 365 Outlook-connector gebruikt.

    3. Selecteer de actie 'Een e-mail verzenden' voor uw provider, bijvoorbeeld:

      Selecteer de actie 'Een e-mail verzenden' voor uw e-mailprovider

  5. Meld u aan bij uw e-mailaccount als dat wordt gevraagd.

  6. Stel de eigenschappen in voor de actie die u hebt toegevoegd.

    • Voer het e-mailadres van de ontvanger in het vak Aan in. Voor testdoeleinden kunt u uw eigen e-mailadres gebruiken.

    • Selecteer in het vak Onderwerp , wanneer de lijst met dynamische inhoud wordt weergegeven, het veld Partitienaam .

      Selecteer 'Partitienaam' in de lijst met dynamische inhoud

      Later kunt u in de batch-afzender een unieke partitiesleutel opgeven die de doelbatch in logische subsets verdeelt waar u berichten kunt verzenden. Elke set heeft een uniek nummer dat wordt gegenereerd door de logische app voor batch-afzenders. Met deze mogelijkheid kunt u één batch met meerdere subsets gebruiken en elke subset definiëren met de naam die u opgeeft.

      Belangrijk

      Een partitie heeft een limiet van 5.000 berichten of 80 MB. Als aan een van de voorwaarden wordt voldaan, wordt de batch mogelijk door Logic Apps vrijgegeven, zelfs wanneer niet aan de gedefinieerde releasevoorwaarde wordt voldaan.

    • Selecteer in het vak Hoofdtekst het veld Bericht-id wanneer de lijst met dynamische inhoud wordt weergegeven.

      De werkstroomontwerper voegt automatisch de lus Voor elke toe rond de actie E-mail verzenden, omdat de uitvoer van de vorige actie wordt behandeld als een verzameling in plaats van een batch.

      Selecteer bericht-id voor 'Hoofdtekst'

  7. Sla uw logische app op. U hebt nu een batchontvanger gemaakt.

    Uw logische app opslaan

    Belangrijk

    Als u Visual Studio gebruikt, moet u, voordat u verdergaat met de volgende sectie, eerst de logische app voor batchontvangers in Azure implementeren. Anders kunt u de batchontvanger niet selecteren wanneer u de afzender van de batch maakt.

Batch-afzender maken

Maak nu een of meer logische apps voor batchverzenders die berichten verzenden naar de logische app voor batchontvangers. In elke batch-afzender geeft u de batchontvanger en batchnaam, berichtinhoud en eventuele andere instellingen op. U kunt desgewenst een unieke partitiesleutel opgeven om de batch op te delen in logische subsets voor het verzamelen van berichten met die sleutel.

  • Zorg ervoor dat u de batchontvanger eerder hebt gemaakt en geïmplementeerd , zodat u bij het maken van de batch-afzender de bestaande batchontvanger als de doelbatch kunt selecteren. Hoewel batchontvangers niets hoeven te weten over batchverzenders, moeten ze weten waar ze berichten naartoe moeten verzenden.

  • Zorg ervoor dat uw batchontvanger en batch-afzender dezelfde Azure-regio en hetzelfde Azure-abonnement delen. Als ze dat niet doen, kunt u de batchontvanger niet selecteren wanneer u de batchverzender maakt, omdat deze niet voor elkaar zichtbaar zijn.

  1. Maak een andere logische app met deze naam: BatchSender

    1. Voer in het zoekvak recurrence als uw filter in. Selecteer deze trigger in de lijst met triggers: Terugkeerpatroon

      De trigger Terugkeerpatroon toevoegen

    2. Stel het interval en de frequentie in om de logische app van de afzender elke minuut uit te voeren.

      Frequentie en interval instellen voor terugkeerpatroontrigger

  2. Voeg een nieuwe actie toe voor het verzenden van berichten naar een batch.

    1. Selecteer onder de trigger Terugkeerpatroonde optie Nieuwe stap.

    2. Voer in het zoekvak in batch als uw filter en selecteer deze actie: Kies een Logic Apps-werkstroom met batchtrigger

      Selecteer 'Kies een Logic Apps-werkstroom met batchtrigger'

      Er wordt een lijst weergegeven met alleen de logische apps die batchtriggers hebben en in dezelfde Azure-regio en hetzelfde Azure-abonnement bestaan als de logische app voor batch-afzenders.

    3. Selecteer in de lijst met logische apps de logische batchontvanger-app die u eerder hebt gemaakt.

      De logische app voor batchontvanger selecteren

      Belangrijk

      Als u Visual Studio gebruikt en u geen batchontvangers ziet die u kunt selecteren, controleert u of u de batchontvanger eerder hebt gemaakt en geïmplementeerd in Azure. Als u dat nog niet hebt gedaan, leert u hoe u de logische app voor batchontvangers implementeert in Azure.

    4. Selecteer deze actie in de lijst met acties: Batch_messages - <uw-logische app-naam>

      Selecteer deze actie: 'Batch_messages - <your-logic-app>'

  3. Stel de eigenschappen van de batch-afzender in:

    Eigenschap Beschrijving
    Batchnaam De batchnaam die is gedefinieerd door de logische ontvanger-app, zoals TestBatch in dit voorbeeld

    Belangrijk: de batchnaam wordt tijdens runtime gevalideerd en moet overeenkomen met de naam die is opgegeven door de logische ontvanger-app. Als u de batchnaam wijzigt, mislukt de afzender van de batch.

    Berichtinhoud De inhoud van het bericht dat u wilt verzenden

    Notitie

    De waarden van de eigenschap Triggernaam en Werkstroom worden automatisch ingevuld vanuit de geselecteerde logische app.

    In dit voorbeeld voegt u deze expressie toe, waarmee de huidige datum en tijd worden ingevoegd in de berichtinhoud die u naar de batch verzendt:

    1. Klik in het vak Berichtinhoud .

    2. Wanneer de lijst met dynamische inhoud wordt weergegeven, selecteert u Expressie.

    3. Voer de expressie in utcnow()en selecteer OK.

      Selecteer in Berichtinhoud de optie Expressie, voer 'utcnow()' in en selecteer 'OK'.

  4. Stel nu een partitie in voor de batch. Open in de BatchReceiver actie de lijst Nieuwe parameter toevoegen en selecteer deze eigenschappen:

    Eigenschap Beschrijving
    Partitienaam Een optionele unieke partitiesleutel voor het verdelen van de doelbatch in logische subsets en het verzamelen van berichten op basis van die sleutel
    Bericht-id Een optionele bericht-id die een gegenereerde GUID (Globally Unique Identifier) is wanneer deze leeg is

    In dit voorbeeld voegt u in het vak Partitienaam een expressie toe waarmee een willekeurig getal tussen één en vijf wordt gegenereerd. Laat het vak Bericht-id leeg.

    1. Klik in het vak Partitienaam zodat de lijst met dynamische inhoud wordt weergegeven.

    2. Selecteer in de lijst met dynamische inhoud de optie Expressie.

    3. Voer de expressie rand(1,6)in en selecteer OK.

      Een partitie instellen voor uw doelbatch

      Met deze randfunctie wordt een getal tussen één en vijf gegenereerd. U verdeelt deze batch dus in vijf genummerde partities, die met deze expressie dynamisch worden ingesteld.

  5. Sla uw logische app op. De logische app van de afzender ziet er nu uit zoals in dit voorbeeld:

    De logische app van de afzender opslaan

Uw logische apps testen

Als u uw batchoplossing wilt testen, laat u uw logische apps een paar minuten actief. Binnenkort ontvangt u e-mailberichten in groepen van vijf, allemaal met dezelfde partitiesleutel.

Uw logische batch-afzender-app wordt elke minuut uitgevoerd en genereert een willekeurig getal tussen één en vijf. De afzender van de batch gebruikt dit willekeurige nummer als de partitiesleutel voor de doelbatch waarnaar u de berichten verzendt. Elke keer dat de batch vijf items met dezelfde partitiesleutel heeft, wordt de logische app voor batchontvanger geactiveerd en e-mail verzonden voor elk bericht.

Belangrijk

Wanneer u klaar bent met testen, moet u ervoor zorgen dat u de BatchSender logische app uitschakelt om het verzenden van berichten te stoppen en te voorkomen dat uw Postvak IN overbelast raakt.

Volgende stappen