Skicka, ta emot och batcharbeta meddelanden i Azure Logic Apps
Gäller för: Azure Logic Apps (Förbrukning + Standard)
Om du vill skicka och bearbeta meddelanden tillsammans på ett specifikt sätt som grupper kan du skapa en batchlösning. Den här lösningen samlar in meddelanden i en batch och väntar tills de angivna kriterierna uppfylls innan de batchbaserade meddelandena släpps och bearbetas. Batchbearbetning kan minska hur ofta logikappen bearbetar meddelanden.
Den här instruktionsguiden visar hur du skapar en batchlösning genom att skapa två logikappar i samma Azure-prenumeration, Azure-region, och i den här ordningen:
Logikappen "batchmottagare", som accepterar och samlar in meddelanden till en batch tills dina angivna villkor uppfylls för att släppa och bearbeta dessa meddelanden. Se till att du först skapar den här batchmottagaren så att du senare kan välja batchmålet när du skapar batch-avsändaren.
En eller flera logikappar för "batch-avsändare" som skickar meddelandena till den tidigare skapade batchmottagaren.
Batchavsändaren kan ange en unik nyckel som partitioner eller delar upp målbatchen i logiska delmängder, baserat på den nyckeln. Ett kundnummer är till exempel en unik nyckel. På så sätt kan mottagarappen samla in alla objekt med samma nyckel och bearbeta dem tillsammans.
Batchmottagaren och batchsändaren måste dela samma Azure-prenumeration och Azure-region. Om de inte gör det kan du inte välja batchmottagaren när du skapar batch-avsändaren eftersom de inte är synliga för varandra.
Förutsättningar
Ett Azure-konto och prenumeration. Om du inte har någon prenumeration kan du registrera ett kostnadsfritt Azure-konto.
Ett e-postkonto med valfri e-postleverantör som stöds av Azure Logic Apps
Viktigt!
Om du vill använda Gmail-anslutningsappen kan endast G-Suite-företagskonton använda den här anslutningsappen utan begränsning i logikappar. Om du har ett Gmail-konsumentkonto kan du använda den här anslutningsappen med endast specifika Google-godkända tjänster, eller så kan du skapa en Google-klientapp som ska användas för autentisering med gmail-anslutningsappen. Mer information finns i Datasäkerhets- och sekretessprinciper för Google-anslutningsappar i Azure Logic Apps.
Grundläggande kunskaper om arbetsflöden för logikappar
Om du vill använda Visual Studio Code i stället för Azure Portal kontrollerar du att du har konfigurerat Visual Studio Code för att arbeta med Azure Logic Apps.
Begränsningar
Du kan bara kontrollera innehållet i en batch efter lanseringen genom att jämföra det utgivna innehållet med källan.
Du kan bara släppa en batch tidigt genom att ändra versionsvillkoren i batchmottagaren, vilket beskrivs i den här guiden, medan utlösaren fortfarande har batchen. Utlösaren använder dock de uppdaterade versionsvillkoren för alla meddelanden som inte har släppts.
Skapa batchmottagare
Innan du kan skicka meddelanden till en batch måste den batchen först finnas som mål där du skickar dessa meddelanden. Först måste du alltså skapa logikapparbetsflödet "batch receiver", som börjar med Batch-utlösaren. På så sätt kan du välja arbetsflödet för logikappen för batchmottagare när du skapar logikappen "batch sender". Batch-mottagaren fortsätter att samla in meddelanden tills dina angivna villkor uppfylls för att släppa och bearbeta dessa meddelanden. Batch-mottagare behöver inte veta något om batchavsändare, men batchavsändare måste känna till målet där de skickar meddelandena.
I Azure Portal skapar du en logikappresurs med ett tomt arbetsflöde.
I det här exemplet skapas en logikapp för batchmottagare och ett arbetsflöde med namnet BatchReceiver.
I arbetsflödesdesignern väljer du Lägg till en utlösare och följer dessa allmänna steg för att lägga till Batch Operations-utlösaren med namnet Batch-utlösare.
Ange följande utlösaregenskaper:
Property beskrivning Läge
(Endast förbrukningsarbetsflöden)- Infogad: För att definiera versionskriterier i batchutlösaren
- Integrationskonto: För att definiera flera konfigurationer av versionskriterier via ett integrationskonto. Med ett integrationskonto kan du underhålla dessa konfigurationer på ett och samma ställe i stället för i separata logikappresurser.Batchnamn Namnet på batchen. I Arbetsflöden för förbrukning visas den här egenskapen endast när Läget är inställt på Infogat. I det här exemplet används TestBatch. Versionskriterier De kriterier som ska uppfyllas innan varje batch bearbetas. Som standard fungerar batchutlösaren med hjälp av "infogat läge" där du definierar batch-versionsvillkoren i batchutlösaren.
- Antal meddelanden baserat: Frigör batchen baserat på antalet meddelanden som samlas in av batchen.
- Storleksbaserad: Frigör batchen baserat på den totala storleken i byte för alla meddelanden som samlas in av den batchen.
- Schemabaserat: Frigör batchen baserat på ett upprepningsschema, som anger ett intervall och en frekvens. Du kan välja en tidszon och ange startdatum och tid.
Om du vill använda alla angivna villkor väljer du alla alternativ.Antal meddelanden Antalet meddelanden som ska samlas in i batchen, till exempel 10 meddelanden. Batchmeddelandegränsen är 8 000 meddelanden. Batchstorlek Den totala bytestorleken för meddelanden som ska samlas in i batchen, till exempel 10 MB. Batchstorleksgränsen är 80 MB. Upprepning Intervallet och frekvensen mellan batchversioner, till exempel 10 minuter. Den minsta upprepningen är 60 sekunder eller 1 minut. Bråkminuter avrundas effektivt upp till 1 minut. Du kan också välja en tidszon och ange ett startdatum och en starttid. Kommentar
Om du ändrar versionsvillkoren medan utlösaren fortfarande har batchkopplade men ej skickade meddelanden använder utlösaren de uppdaterade versionsvillkoren för att hantera de osedda meddelandena.
Det här exemplet visar alla kriterier, men för din egen testning kan du bara prova ett kriterium:
Lägg nu till en eller flera åtgärder som bearbetar varje batch.
I det här exemplet lägger du till en åtgärd som skickar ett e-postmeddelande när batchutlösaren utlöses. Utlösaren kör och skickar ett e-postmeddelande när batchen antingen har 10 meddelanden, når 10 MB eller efter 10 minuters pass.
Under batchutlösaren väljer du plustecknet> (+) Lägg till en åtgärd.
Följ de här allmänna stegen för att lägga till en åtgärd som skickar ett e-postmeddelande baserat på din e-postleverantör.
Om du till exempel har ett arbets- eller skolkonto, till exempel @fabrikam.com eller @fabrikam.onmicrosoft.com, väljer du Microsoft 365 Outlook-anslutningsappen. Om du har ett personligt konto, till exempel @outlook.com eller , väljer du Outlook.com-anslutningsappen.@hotmail.com I det här exemplet används Anslutningsappen för Microsoft 365 Outlook.
Logga in på ditt e-postkonto om du uppmanas att göra det.
Ange följande åtgärdsegenskaper:
Ange mottagarens e-postadress i fältet Till. I testsyfte kan du använda din egen e-postadress.
Välj i rutan Ämne för att visa alternativen för listan med dynamiskt innehåll (blixtikonen) och uttrycksredigeraren (funktionsikonen). Välj blixtikonen för att öppna listan med dynamiskt innehåll och välj fältet partitionsnamn.
Senare i batchavsändaren kan du ange en unik partitionsnyckel som delar upp målbatchen i logiska delmängder där du kan skicka meddelanden. Varje uppsättning har ett unikt tal som genereras av arbetsflödet för batchsändarlogikappen. Med den här funktionen kan du använda en enda batch med flera delmängder och definiera varje delmängd med det namn som du anger.
Viktigt!
En partition har en gräns på 5 000 meddelanden eller 80 MB. Om något av villkoren uppfylls kan Azure Logic Apps släppa batchen, även om ditt definierade versionsvillkor inte uppfylls.
Välj i rutan Brödtext , välj blixtikonen för att öppna listan med dynamiskt innehåll och välj fältet Meddelandemeddelande-ID .
Arbetsflödesdesignern lägger automatiskt till en För varje loop runt åtgärden skicka e-post eftersom den åtgärden behandlar utdata från föregående åtgärd som en samling i stället för en batch.
I följande exempel visas informationsfönstret när du har valt rutan För varje rubrik i designern där Batch-objekt är samlingsnamnet:
Spara arbetsflödet. Nu har du skapat en batchmottagare.
Viktigt!
Om du använder Visual Studio Code måste du först distribuera batchmottagarens logikappresurs till Azure innan du fortsätter till nästa avsnitt. Annars kan du inte välja arbetsflödet för logikappen för batchmottagare när du skapar arbetsflödet för batchsändarlogikappen.
Skapa batch-avsändare
Skapa nu ett eller flera arbetsflöden för batchsändarlogikappen som skickar meddelanden till arbetsflödet för logikappen för batchmottagare. I varje batchsändare anger du batchmottagaren och batchnamnet, meddelandeinnehållet och andra inställningar. Du kan också ange en unik partitionsnyckel för att dela in batchen i logiska underuppsättningar för att samla in meddelanden med den nyckeln.
Kontrollera att du tidigare har skapat och distribuerat batchmottagaren så att du kan välja den befintliga batchmottagaren som målbatch när du skapar batchsändaren. Batch-mottagare behöver inte veta något om batchavsändare, men batchavsändare måste veta var meddelanden ska skickas.
Kontrollera att batchmottagaren och batchsändaren delar samma Azure-region och Azure-prenumeration. Om de inte gör det kan du inte välja batchmottagaren när du skapar batch-avsändaren eftersom de inte är synliga för varandra.
Skapa en annan logikappresurs och ett annat arbetsflöde med namnet BatchSender.
Kommentar
Om du har en standardlogikappresurs måste du skapa ett tillståndskänsligt arbetsflöde, inte ett tillståndslöst arbetsflöde eftersom upprepningsutlösaren inte är tillgänglig för tillståndslösa arbetsflöden.
Följ de här allmänna stegen för att lägga till schemautlösaren med namnet Återkommande.
I det här exemplet anges intervallet och frekvensen för att köra avsändararbetsflödet varje minut.
Lägg till en ny åtgärd för att skicka meddelanden till en batch.
Under utlösaren Upprepning väljer du plustecknet (+) Lägg >till ny åtgärd.
Baserat på om du har ett arbetsflöde för förbrukning eller standardarbetsflöde följer du motsvarande steg:
Arbetsflöde för förbrukning
När du har lagt till arbetsflödesåtgärden Skicka till batch-utlösare visas en lista och visar endast logikappresurserna med batchutlösare som finns i samma Azure-prenumeration och Azure-region som din batch-avsändarlogikappresurs.
I listan med logikappar väljer du den tidigare skapade logikappen som ska användas som batchmottagare. När de tillgängliga utlösarna visas väljer du utlösaren med namnet Batch_messages.
Viktigt!
Om du använder Visual Studio Code och du inte ser några batchmottagare att välja kontrollerar du att du tidigare skapade och distribuerade batchmottagaren till Azure. Om du inte har gjort det får du lära dig hur du distribuerar logikappresursen för batchmottagare till Azure.
När du är klar väljer du Lägg till åtgärd.
Standardarbetsflöde
När du har lagt till åtgärden Skicka till batch visar åtgärdsfönstret följande egenskaper i nästa steg så att du kan ange batchnamn, meddelandeinnehåll, arbetsflödesnamn och utlösarnamn. Du kan bara ange information för ett batch-mottagarlogikapparbetsflöde med en batch-utlösare som finns i samma Azure-prenumeration och Azure-region som din batch-avsändarlogikapp.
Ange följande egenskaper för batchmottagarens åtgärd:
Property beskrivning Batchnamn Batchnamnet som definieras av mottagarlogiken, som är TestBatch i det här exemplet
Viktigt: Batchnamnet verifieras vid körning och måste matcha det namn som anges av logikappen för batchmottagare. Om batchnamnet ändras misslyckas batchsändaren.Meddelandeinnehåll Innehållet för det meddelande som du vill skicka. Se följande exempel för det värde som ska användas. Arbetsflödesnamn
(Endast standardarbetsflöden)Namnet på arbetsflödet som har batchutlösaren. Utlösarnamn Namnet på batchutlösaren i arbetsflödet för batchmottagarens logikapp. I Förbrukningsarbetsflöden fylls det här värdet automatiskt i från den valda batchmottagarelogikappen. Arbetsflödes-ID ID:t för arbetsflödet som har batchutlösarens namn batch receiver logic app workflow. I Förbrukningsarbetsflöden fylls det här värdet automatiskt i från den valda batchmottagarelogikappen. I det här exemplet lägger du till följande uttryck för egenskapen Meddelandeinnehåll , som infogar aktuellt datum och tid i meddelandeinnehållet som du skickar till batchen:
Välj i rutan Meddelandeinnehåll för att visa alternativen för dynamiskt innehåll (blixtikon) och uttrycksredigeraren (funktionsikon).
Välj funktionsikonen för att öppna uttrycksredigeraren.
I redigeraren anger du funktionen med namnet utcnow()och väljer Lägg till.
Arbetsflöde för förbrukning
Standardarbetsflöde
Konfigurera nu en partition för batchen.
I åtgärdsfönstret batchavsändare går du till listan Avancerade parametrar och väljer följande egenskaper:
Property beskrivning Partitionsnamn En valfri unik partitionsnyckel som ska användas för att dela upp målbatchen i logiska delmängder och samla in meddelanden baserat på den nyckeln.
I det här exemplet kan du se följande steg för att lägga till ett uttryck som genererar ett slumpmässigt tal mellan ett och fem.Meddelande-ID En valfri meddelandeidentifierare som är en genererad globalt unik identifierare (GUID) när den är tom. I det här exemplet lämnar du det här värdet tomt. Välj i rutan Partitionsnamn och välj alternativet för uttrycksredigeraren (funktionsikonen).
I uttrycksredigeraren anger du funktionen rand(1,6) och väljer Lägg till.
Det här exemplet genererar ett tal mellan ett och fem. Därför delar du upp den här batchen i fem numrerade partitioner, som det här uttrycket dynamiskt anger.
När du är klar ser arbetsflödet för batchsändararbetsflödet nu ut ungefär som i följande exempel, baserat på arbetsflödestypen för logikappen:
Arbetsflöde för förbrukning
Standardarbetsflöde
Spara arbetsflödet.
Testa dina arbetsflöden
Om du vill testa batchlösningen låter du logikappens arbetsflöden köras i några minuter. Snart börjar du få e-postmeddelanden i grupper om fem, alla med samma partitionsnyckel.
Logikappen för batchsändarappen körs varje minut och genererar ett slumpmässigt tal mellan ett och fem. Batch-avsändaren använder det här slumpmässiga talet som partitionsnyckel för målbatchen där du skickar meddelandena. Varje gång batchen har fem objekt med samma partitionsnyckel utlöses logikappen för batchmottagaren och skickar e-post för varje meddelande.
Viktigt!
När du är klar med testningen kontrollerar du att du inaktiverar eller tar bort batchSender-logikappens arbetsflöde för att sluta skicka meddelanden och undvika att överbelasta inkorgen.