EDI-berichten uitwisselen als batches of groepen tussen handelspartners in Azure Logic Apps
Van toepassing op: Azure Logic Apps (verbruik)
In B2B-scenario's (business to business) wisselen partners vaak berichten uit in groepen of batches. Wanneer u een batchoplossing bouwt met Azure Logic Apps, kunt u berichten verzenden naar handelspartners en deze berichten samen verwerken in batches. In dit artikel wordt beschreven hoe u EDI-berichten in batches kunt verwerken met behulp van X12 als voorbeeld door een logische app voor batchzender en een logische app voor batchontvanger te maken.
Het batcheren van X12-berichten werkt als het batcheren van andere berichten. U gebruikt een batchtrigger waarmee berichten worden verzameld in een batch en een batchactie waarmee berichten naar de batch worden verzonden. X12 batchverwerking bevat ook een X12-coderingsstap voordat de berichten naar de handelspartner of een andere bestemming gaan. Zie Batch-procesberichten voor meer informatie over de batchtrigger en -actie.
In dit artikel bouwt u een batchoplossing door twee logische apps te maken binnen hetzelfde Azure-abonnement, dezelfde Azure-regio en deze specifieke volgorde te volgen:
Een logische app voor batchontvanger , die berichten in een batch accepteert en verzamelt totdat aan de opgegeven criteria wordt voldaan voor het vrijgeven en verwerken van deze berichten. In dit scenario codeert de batchontvanger ook de berichten in de batch met behulp van de opgegeven X12-overeenkomst of partneridentiteiten.
Zorg ervoor dat u eerst de batchontvanger maakt, zodat u later de batchbestemming kunt selecteren wanneer u de batchzender maakt.
Een logische app-werkstroom voor batchzenders , waarmee de berichten worden verzonden naar de eerder gemaakte batchontvanger.
Zorg ervoor dat uw logische app-werkstromen voor batchontvangers en batchzenders hetzelfde Azure-abonnement en dezelfde Azure-regio gebruiken. Als dat niet zo is, kunt u de batchontvanger niet selecteren wanneer u de batchzender maakt, omdat ze niet zichtbaar zijn voor elkaar.
Vereisten
Een Azure-abonnement. Als u geen abonnement hebt, kunt u beginnen met een gratis Azure-account.
Basiskennis over het maken van werkstromen voor logische apps. Zie Een voorbeeldwerkstroom voor logische apps voor verbruik maken in multitenant Azure Logic Apps voor meer informatie.
Een bestaand integratieaccount dat is gekoppeld aan uw Azure-abonnement en is gekoppeld aan uw logische apps.
Ten minste twee bestaande partners in uw integratieaccount. Elke partner moet de X12-kwalificatie (Standard Carrier Alpha Code) gebruiken als een bedrijfsidentiteit in de eigenschappen van de partner.
Een bestaande X12-overeenkomst in uw integratieaccount.
Als u Visual Studio wilt gebruiken in plaats van Azure Portal, moet u Visual Studio instellen voor het werken met Azure Logic Apps.
Installeer of gebruik een hulpprogramma waarmee HTTP-aanvragen kunnen worden verzonden om uw oplossing te testen, bijvoorbeeld:
- Visual Studio Code met een extensie van Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge - Hulpprogramma voor netwerkconsole
- Bruno
- curl
Let op
Voor scenario's waarin u gevoelige gegevens hebt, zoals referenties, geheimen, toegangstokens, API-sleutels en andere vergelijkbare informatie, moet u een hulpprogramma gebruiken waarmee uw gegevens worden beveiligd met de benodigde beveiligingsfuncties, offline of lokaal werken, uw gegevens niet worden gesynchroniseerd met de cloud en u zich niet hoeft aan te melden bij een onlineaccount. Op deze manier vermindert u het risico dat gevoelige gegevens openbaar worden gemaakt voor het publiek.
X12-batchontvanger maken
Voordat u berichten naar een batch kunt verzenden, moet die batch eerst bestaan als de bestemming waar u deze berichten verzendt. Eerst moet u dus de logische app batchontvanger maken, die begint met de Batch-trigger . Op die manier kunt u, wanneer u de logische app batchzender maakt, de logische app voor batchontvanger selecteren. De batchontvanger blijft berichten verzamelen totdat aan uw opgegeven criteria wordt voldaan voor het vrijgeven en verwerken van deze berichten. Hoewel batchontvangers niets hoeven te weten over batch-afzenders, moeten batchzenders de bestemming weten waar ze de berichten verzenden.
Voor deze batchontvanger geeft u de batchmodus, naam, releasecriteria, X12-overeenkomst en andere instellingen op.
Maak in Azure Portal, Visual Studio of Visual Studio Code een logische app met de volgende naam: BatchX12Messages
Voeg in de werkstroomontwerper de Batch-trigger toe, waarmee uw werkstroom voor logische apps wordt gestart.
Volg deze algemene stappen om een Batch-trigger met de naam Batch-berichten toe te voegen.
Stel de eigenschappen van de batchontvanger in:
Eigenschappen Weergegeven als Opmerkingen Batchmodus Inline Batchnaam TestBatch Alleen beschikbaar met inline batchmodus Releasecriteria Aantal berichten op basis van planning Alleen beschikbaar met inline batchmodus Aantal berichten 10 Alleen beschikbaar met releasecriteria op basis van aantal berichten Interval 10 Alleen beschikbaar met releasecriteria op basis van planning Frequentie minuten Alleen beschikbaar met releasecriteria op basis van planning Notitie
In dit voorbeeld wordt geen partitie ingesteld voor de batch, dus elke batch gebruikt dezelfde partitiesleutel. Zie Batch-procesberichten voor meer informatie over partities.
Voeg nu een actie toe waarmee elke batch wordt gecodeerd:
Volg deze algemene stappen om een X12-actie toe te voegen met de naam: Batch encode <any-version>
Als u nog geen verbinding hebt gemaakt met uw integratieaccount, maakt u de verbinding nu. Geef een naam op voor uw verbinding, selecteer het gewenste integratieaccount en selecteer vervolgens Maken.
Stel deze eigenschappen in voor de batchcoderingsactie:
Eigenschappen Beschrijving Naam van X12-overeenkomst Open de lijst en selecteer uw bestaande overeenkomst. Als uw lijst leeg is, moet u ervoor zorgen dat u uw logische app koppelt aan het integratieaccount met de gewenste overeenkomst.
BatchName Klik in dit vak en nadat de lijst met dynamische inhoud wordt weergegeven, selecteert u het batchnaamtoken . PartitionName Klik in dit vak en nadat de lijst met dynamische inhoud wordt weergegeven, selecteert u het token Partitienaam . Artikelen Sluit het itemdetailsvak en klik in dit vak. Nadat de lijst met dynamische inhoud wordt weergegeven, selecteert u het token Batched Items . Voor het vak Items :
Sla uw werkstroom voor logische apps op.
Als u Visual Studio gebruikt, moet u ervoor zorgen dat u de logische app voor batchontvanger implementeert in Azure. Anders kunt u de batchontvanger niet selecteren wanneer u de batchzender maakt.
Uw werkstroom testen
Om ervoor te zorgen dat de batchontvanger werkt zoals verwacht, kunt u een HTTP-actie toevoegen voor testdoeleinden en een batchbericht verzenden naar de aanvraaglocatieservice.
Volg deze algemene stappen om de HTTP-actie met de naam HTTP toe te voegen.
Stel de eigenschappen voor de HTTP-actie in:
Eigenschappen Beschrijving Methode Selecteer POST in deze lijst. URI Genereer een URI voor uw aanvraaglocatie en voer die URI in dit vak in. Tekst Klik in dit vak en nadat de lijst met dynamische inhoud is geopend, selecteert u het hoofdteksttoken , dat wordt weergegeven in de sectie Batch en coderen op overeenkomstnaam. Als u het bodytoken niet ziet, selecteert u naast Batch-codering op overeenkomstnaam meer.
Sla uw werkstroom op.
Uw logische app voor batchontvanger ziet er als volgt uit:
X12-batchzender maken
Maak nu een of meer logische apps die berichten verzenden naar de logische app voor batchontvanger. In elke batchzender geeft u de logische app voor batchontvanger en batchnaam, berichtinhoud en eventuele andere instellingen op. U kunt desgewenst een unieke partitiesleutel opgeven om de batch te verdelen in subsets om berichten met die sleutel te verzamelen.
Zorg ervoor dat u de batchontvanger al hebt gemaakt. Op die manier kunt u, wanneer u de batchzender maakt, de bestaande batchontvanger selecteren als doelbatch. Hoewel batchontvangers niets hoeven te weten over batch-afzenders, moeten batch-afzenders weten waar berichten moeten worden verzonden.
Zorg ervoor dat uw logische app-werkstromen voor batchontvangers en batchzenders hetzelfde Azure-abonnement en dezelfde Azure-regio gebruiken. Als dat niet zo is, kunt u de batchontvanger niet selecteren wanneer u de batchzender maakt, omdat ze niet zichtbaar zijn voor elkaar.
Maak een andere logische app met de volgende naam: SendX12MessagesToBatch
Als u een actie wilt toevoegen voor het verzenden van berichten naar een batch, volgt u deze algemene stappen om een actie Verzenden naar batch-actie toe te voegen met de naam Een Logic Apps-werkstroom kiezen met batchtrigger.
Selecteer de logische app BatchX12Messages die u eerder hebt gemaakt.
Selecteer de actie BatchX12Messages met de naam Batch_messages -< uw batch-ontvanger>.
Stel de eigenschappen van de batch-afzender in.
Eigenschappen Beschrijving Batchnaam De batchnaam die is gedefinieerd door de logische ontvanger-app, in dit voorbeeld TestBatch Belangrijk: De batchnaam wordt tijdens runtime gevalideerd en moet overeenkomen met de naam die is opgegeven door de logische ontvanger-app. Als u de naam van de batch wijzigt, mislukt de batch-afzender.
Berichtinhoud De inhoud voor het bericht dat u wilt verzenden. Dit is het hoofdteksttoken in dit voorbeeld Sla uw werkstroom op.
De logische app voor batchzenders ziet er als volgt uit:
Uw werkstromen testen
Als u uw batchverwerkingsoplossing wilt testen, post u X12-berichten naar de werkstroom van de logische app voor batchzenders met behulp van uw HTTP-aanvraagprogramma en de bijbehorende instructies. Binnenkort krijgt u X12-berichten in uw aanvraagbak, elke 10 minuten of in batches van 10, allemaal met dezelfde partitiesleutel.