Platte bestanden coderen en decoderen in Azure Logic Apps

Van toepassing op: Azure Logic Apps (Verbruik + Standard)

Voordat u XML-inhoud naar een zakenpartner verzendt in een B2B-scenario (business-to-business), wilt u die inhoud misschien eerst coderen. Als u gecodeerde XML-inhoud ontvangt, moet u die inhoud eerst decoderen. Wanneer u een werkstroom voor logische apps bouwt in Azure Logic Apps, kunt u platte bestanden coderen en decoderen met behulp van de ingebouwde connectoracties voor plat bestand en een plat bestandsschema voor codering en decodering. U kunt platte bestandsacties gebruiken in werkstromen voor logische apps met meerdere tenants en werkstromen voor logische apps met één tenant.

Hoewel er geen triggers voor plat bestand beschikbaar zijn, kunt u elke trigger of actie gebruiken om de bron-XML-inhoud in uw werkstroom in te voeren. U kunt bijvoorbeeld een ingebouwde connectortrigger, een beheerde of door Azure gehoste connectortrigger gebruiken die beschikbaar is voor Azure Logic Apps of zelfs een andere app.

In dit artikel wordt beschreven hoe u de coderings- en decoderingsacties voor plat bestand toevoegt aan uw werkstroom.

  • Voeg een coderings- of decoderingsactie plat bestand toe aan uw werkstroom.
  • Selecteer het schema dat u wilt gebruiken.

Raadpleeg de volgende documentatie voor meer informatie:

Vereisten

  • Een Azure-account en -abonnement. Als u nog geen abonnement hebt, meldt u zich aan voor een gratis Azure-account.

  • De werkstroom van de logische app, leeg of bestaand, waar u de actie Plat bestand wilt gebruiken.

    Als u een lege werkstroom hebt, gebruikt u een trigger die u wilt starten met de werkstroom. In dit voorbeeld wordt de aanvraagtrigger gebruikt.

  • De resource en werkstroom van uw logische app. Platte bestandsbewerkingen hebben geen triggers beschikbaar, dus uw werkstroom moet minimaal een trigger bevatten. Voor meer informatie raadpleegt u de volgende documentatie:

  • Een plat bestandsschema voor het coderen en decoderen van de XML-inhoud. Voeg schema's toe voor gebruik met werkstromen in Azure Logic Apps voor meer informatie.

  • Op basis van of u werkt aan een werkstroom voor een verbruiks- of Standard-logische app, hebt u een integratieaccountresource nodig. Normaal gesproken hebt u deze resource nodig wanneer u artefacten wilt definiëren en opslaan voor gebruik in bedrijfsintegratie en B2B-werkstromen.

    Belangrijk

    Als u wilt samenwerken, moeten zowel uw integratieaccount als de resource van de logische app zich in hetzelfde Azure-abonnement en dezelfde Azure-regio bevinden.

    • Als u aan een werkstroom voor logische app Verbruik werkt, is voor uw logische app-resource een koppeling naar uw integratieaccount vereist.

    • Als u aan een werkstroom voor een standaard logische app werkt, kunt u de resource van uw logische app koppelen aan uw integratieaccount, schema's rechtstreeks uploaden naar uw logische app-resource of beide, op basis van de volgende scenario's:

      • Als u al een integratieaccount hebt met de artefacten die u nodig hebt of wilt gebruiken, kunt u uw integratieaccount koppelen aan meerdere resources van de logische standaard-app waar u de artefacten wilt gebruiken. Op die manier hoeft u geen schema's te uploaden naar elke afzonderlijke logische app. Zie Uw logische app-resource koppelen aan uw integratieaccount voor meer informatie.

      • Met de ingebouwde connector Flat File kunt u een schema selecteren dat u eerder hebt geüpload naar uw logische app-resource of naar een gekoppeld integratieaccount, maar niet beide. U kunt dit artefact vervolgens gebruiken voor alle onderliggende werkstromen binnen dezelfde logische app-resource.

      Als u dus geen integratieaccount hebt of nodig hebt, kunt u de optie uploaden gebruiken. Anders kunt u de koppelingsoptie gebruiken. In beide gevallen kunt u deze artefacten gebruiken voor alle onderliggende werkstromen binnen dezelfde logische app-resource.

Beperkingen

  • XML-inhoud die u wilt decoderen, moet worden gecodeerd in UTF-8-indeling.

  • Zorg ervoor dat in het schema voor platte bestanden geen overmatige aantallen van de max count eigenschap zijn ingesteld op een waarde die groter is dan 1. Vermijd het nesten van een XML-groep met een max count eigenschapswaarde groter dan 1 in een andere XML-groep met een max count eigenschap groter dan 1.

  • Wanneer Azure Logic Apps het platte bestandsschema parseert en wanneer het schema de keuze van het volgende fragment toestaat, genereert Azure Logic Apps een symbool en een voorspelling voor dat fragment. Als het schema te veel dergelijke constructies toestaat, bijvoorbeeld meer dan 100.000, wordt de schema-uitbreiding te groot, wat te veel resources en tijd verbruikt.

Schema uploaden

Nadat u uw schema hebt gemaakt, moet u het schema nu uploaden op basis van het volgende scenario:

Een coderingsactie Plat bestand toevoegen

  1. Open in Azure Portal uw werkstroom voor logische apps in de ontwerpfunctie, als deze nog niet is geopend.

  2. Als uw werkstroom geen trigger of andere acties heeft die uw werkstroom nodig heeft, voegt u deze bewerkingen eerst toe. Platte bestandsbewerkingen hebben geen triggers beschikbaar.

    In dit voorbeeld wordt de aanvraagtrigger voortgezet met de naam Wanneer een HTTP-aanvraag wordt ontvangen.

  3. Selecteer in de werkstroomontwerper onder de stap waar u de actie Plat bestand wilt toevoegen de optie Nieuwe stap.

  4. Selecteer Ingebouwd in het zoekvak Kies een bewerking. Voer in het zoekvak een plat bestand in.

  5. Selecteer in de lijst met acties de actie met de naam Platte bestandscodering.

    Screenshot showing Azure portal and Consumption workflow designer with

  6. Geef in de eigenschap Inhoud van de actie de uitvoer op van de trigger of een vorige actie die u wilt coderen door de volgende stappen uit te voeren:

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

    2. Selecteer in de lijst met dynamische inhoud de platte bestandsinhoud die u wilt coderen.

      Voor dit voorbeeld selecteert u in de lijst met dynamische inhoud onder Wanneer een HTTP-aanvraag wordt ontvangen het hoofdteksttoken , dat de uitvoer van de hoofdtekst van de trigger vertegenwoordigt.

    Screenshot showing Consumption workflow designer and

    Notitie

    Als de eigenschap Hoofdtekst niet wordt weergegeven in de lijst met dynamische inhoud, selecteert u Meer weergeven naast het sectielabel Wanneer een HTTP-aanvraag wordt ontvangen . U kunt de inhoud ook rechtstreeks invoeren om te coderen in het vak Inhoud .

  7. Selecteer uw schema in de lijst Schemanaam .

    Screenshot showing Consumption workflow designer and opened

    Notitie

    Als de schemalijst leeg is, is uw logische app-resource niet gekoppeld aan uw integratieaccount of bevat uw integratieaccount geen schemabestanden.

    Wanneer u klaar bent, ziet uw actie er ongeveer als volgt uit:

    Screenshot showing Consumption workflow with finished

  8. Als u andere optionele parameters aan de actie wilt toevoegen, selecteert u deze parameters in de lijst Nieuwe parameters toevoegen.

    Parameter Weergegeven als Beschrijving
    Modus voor het genereren van lege knooppunten ForcedDisabled of HonorSchemaNodeProperty of ForcedEnabled De modus die moet worden gebruikt voor het genereren van lege knooppunten met platte bestandscodering.

    Voor BizTalk heeft het platte bestandsschema een eigenschap waarmee het genereren van lege knooppunten wordt bepaald. U kunt het gedrag van de eigenschap voor het genereren van lege knooppunten voor uw platte bestandsschema volgen of u kunt deze instelling gebruiken om lege knooppunten te genereren of weg te laten. Zie Tags voor lege elementen voor meer informatie.
    XML-normalisatie Ja of Nee De instelling voor het in- of uitschakelen van XML-normalisatie in platte bestandscodering. Zie XmlTextReader.Normalization voor meer informatie.
  9. Sla uw werkstroom op. Selecteer in de werkbalk van de ontwerper Opslaan.

Een decoderingsactie Plat bestand toevoegen

  1. Open in Azure Portal uw werkstroom voor logische apps in de ontwerpfunctie, als deze nog niet is geopend.

  2. Als uw werkstroom geen trigger of andere acties heeft die uw werkstroom nodig heeft, voegt u deze bewerkingen eerst toe. Platte bestandsbewerkingen hebben geen triggers beschikbaar.

    In dit voorbeeld wordt de aanvraagtrigger voortgezet met de naam Wanneer een HTTP-aanvraag wordt ontvangen.

  3. Selecteer in de werkstroomontwerper onder de stap waar u de actie Plat bestand wilt toevoegen de optie Nieuwe stap.

  4. Selecteer Ingebouwd in het zoekvak Kies een bewerking. Voer in het zoekvak een plat bestand in.

  5. Selecteer in de lijst met acties de actie met de naam Flat File Decoding.

    Screenshot showing Azure portal and Consumption workflow designer with

  6. Geef in de eigenschap Inhoud van de actie de uitvoer op van de trigger of een vorige actie die u wilt decoderen door de volgende stappen uit te voeren:

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

    2. Selecteer in de lijst met dynamische inhoud de platte bestandsinhoud die u wilt coderen.

      Voor dit voorbeeld selecteert u in de lijst met dynamische inhoud onder Wanneer een HTTP-aanvraag wordt ontvangen het hoofdteksttoken , dat de uitvoer van de hoofdtekst van de trigger vertegenwoordigt.

    Screenshot showing the Consumption workflow designer and

    Notitie

    Als de eigenschap Hoofdtekst niet wordt weergegeven in de lijst met dynamische inhoud, selecteert u Meer weergeven naast het sectielabel Wanneer een HTTP-aanvraag wordt ontvangen . U kunt de inhoud ook rechtstreeks invoeren om te coderen in het vak Inhoud .

  7. Selecteer uw schema in de lijst Schemanaam .

    Screenshot showing Consumption workflow designer and opened

    Notitie

    Als de schemalijst leeg is, is uw logische app-resource niet gekoppeld aan uw integratieaccount of bevat uw integratieaccount geen schemabestanden.

    Wanneer u klaar bent, ziet uw actie er ongeveer als volgt uit:

    Screenshot showing Consumption workflow with finished

  8. Sla uw werkstroom op. Selecteer in de werkbalk van de ontwerper Opslaan.

U bent nu klaar met het instellen van de actie voor het decoderen van platte bestanden. In een echte app wilt u mogelijk de gedecodeerde gegevens opslaan in een LOB-app (Line-Of-Business), zoals Salesforce. U kunt de gedecodeerde gegevens ook verzenden naar een handelspartner. Als u de uitvoer van de decoderingsactie naar Salesforce of uw handelspartner wilt verzenden, gebruikt u de andere connectors die beschikbaar zijn in Azure Logic Apps:

Uw werkstroom testen

  1. Door Postman of een vergelijkbaar hulpprogramma en de POST methode te gebruiken, verzendt u een aanroep naar de URL van de aanvraagtrigger, die wordt weergegeven in de EIGENSCHAP HTTP POST-URL van de aanvraagtrigger en neemt u de XML-inhoud op die u wilt coderen of decoderen in de hoofdtekst van de aanvraag.

  2. Nadat de werkstroom is uitgevoerd, gaat u naar de uitvoeringsgeschiedenis van de werkstroom en bekijkt u de invoer en uitvoer van de actie Plat bestand.

Volgende stappen