Delen via


REST API-eindpunten aanroepen vanuit werkstromen in Azure Logic Apps

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

Als u een REST API-eindpunt wilt aanroepen vanuit een werkstroom voor logische apps in Azure Logic Apps, kunt u de ingebouwde HTTP + Swagger-bewerkingen gebruiken om een REST API-eindpunt aan te roepen via een Swagger-bestand. De HTTP + Swagger-trigger en -actie werken hetzelfde als de HTTP-trigger en -actie , maar bieden een betere ervaring in de werkstroomontwerper door de API-structuur en uitvoer weer te geven die worden beschreven door het Swagger-bestand. Als u een polling-trigger wilt implementeren, volgt u het polling-patroon dat wordt beschreven in Aangepaste API's maken om andere API's, services en systemen aan te roepen vanuit werkstromen voor logische apps.

Beperkingen

De ingebouwde HTTP + Swagger-bewerkingen ondersteunen momenteel alleen OpenAPI 2.0, niet OpenAPI 3.0.

Vereisten

  • Een Azure-account en -abonnement. Als u nog geen abonnement op Azure hebt, registreer u dan nu voor een gratis Azure-account.

  • De URL voor het Swagger-bestand dat het doel-REST API-eindpunt beschrijft dat u wilt aanroepen

    Normaal gesproken moet het REST-eindpunt voldoen aan de volgende criteria om de trigger of actie te laten werken:

    • Het Swagger-bestand moet worden gehost op een HTTPS-URL die openbaar toegankelijk is.

    • Het Swagger-bestand moet een operationID-eigenschap bevatten voor elke bewerking in de definitie. Als dat niet het probleem is, geeft de connector alleen de laatste bewerking weer in het Swagger-bestand.

    • Voor het Swagger-bestand moet CORS (Cross-Origin Resource Sharing) zijn ingeschakeld.

    Notitie

    Als u wilt verwijzen naar een Swagger-bestand dat niet wordt gehost of die niet voldoet aan de vereisten voor beveiliging en cross-origin, kunt u het Swagger-bestand uploaden naar een blobcontainer in een Azure-opslagaccount en CORS inschakelen voor dat opslagaccount, zodat u naar het bestand kunt verwijzen.

  • De werkstroom Verbruik of Standaard logische app van waaruit u het doeleindpunt wilt aanroepen. Als u wilt beginnen met de HTTP + Swagger-trigger , maakt u een logische app-resource met een lege werkstroom. Als u de ACTIE HTTP + Swagger wilt gebruiken, start u uw werkstroom met een gewenste trigger. In dit voorbeeld wordt de HTTP + Swagger-trigger gebruikt als de eerste bewerking.

Een HTTP + Swagger-trigger toevoegen

Deze ingebouwde trigger verzendt een HTTP-aanvraag naar een URL voor een Swagger-bestand dat een REST API beschrijft. De trigger retourneert vervolgens een antwoord dat de inhoud van dat bestand bevat.

  1. Open in Azure Portal de resource van uw logische app en een lege werkstroom in de ontwerpfunctie.

  2. Volg deze algemene stappen om de HTTP-trigger met de naam HTTP + Swagger toe te voegen op basis van het feit of u een verbruiks- of standaardwerkstroom hebt.

  3. Voer in het vak Swagger-eindpunt de URL in voor het gewenste Swagger-bestand en selecteer Actie Toevoegen.

    In het volgende voorbeeld wordt een niet-functionele Swagger-URL gebruikt. Uw URL kan een andere indeling gebruiken.

    Schermopname van de werkstroomontwerper met het geselecteerde deelvenster Triggershape en -informatie toevoegen voor HTTP + Swagger-trigger. De Swagger-eindpunteigenschap is ingesteld op een voorbeeld-URL.

  4. Nadat de ontwerpfunctie de bewerkingen heeft weergegeven die door het Swagger-bestand worden beschreven, selecteert u de bewerking die u wilt gebruiken.

  5. Geef de waarden op voor de triggerparameters, die variƫren op basis van de geselecteerde bewerking die u wilt opnemen in de eindpuntoproep.

  6. Als de trigger vereist dat u een activeringsschema opgeeft, geeft u het terugkeerpatroon op voor hoe vaak u wilt dat de trigger het eindpunt aanroept.

  7. Als u andere beschikbare parameters wilt toevoegen, opent u de lijst geavanceerde parameters en selecteert u de gewenste parameters.

    Zie Verificatie toevoegen aan uitgaande aanroepen voor meer informatie over verificatietypen die beschikbaar zijn voor HTTP + Swagger.

  8. Ga door met het bouwen van uw werkstroom met de acties die u wilt uitvoeren wanneer de trigger wordt geactiveerd.

  9. Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Een HTTP + Swagger-actie toevoegen

Met deze ingebouwde actie wordt een HTTP-aanvraag verzonden naar de URL voor het Swagger-bestand dat een REST API beschrijft. De actie retourneert vervolgens een antwoord dat de inhoud van dat bestand bevat.

  1. Open in Azure Portal de resource en werkstroom van uw logische app in de ontwerpfunctie.

  2. Volg deze algemene stappen om de HTTP-actie HTTP + Swagger toe te voegen op basis van of u een verbruiks- of standaardwerkstroom hebt.

  3. Voer in het vak Swagger-eindpunt de URL in voor het gewenste Swagger-bestand en selecteer Actie Toevoegen.

    In het volgende voorbeeld wordt een niet-functionele Swagger-URL gebruikt. Uw URL kan een andere indeling gebruiken.

    Schermopname van de werkstroomontwerper met de trigger Fabrikam-API - Order maken en het informatievenster openen voor de actie HTTP + Swagger. De Swagger-eindpunteigenschap is ingesteld op een URL.

  4. Nadat de ontwerpfunctie de bewerkingen heeft weergegeven die door het Swagger-bestand worden beschreven, selecteert u de bewerking die u wilt gebruiken.

  5. Geef de waarden op voor de actieparameters, die variƫren op basis van de geselecteerde bewerking die u wilt opnemen in de eindpuntoproep.

  6. Als u andere beschikbare parameters wilt toevoegen, opent u de lijst geavanceerde parameters en selecteert u de gewenste parameters.

    Zie Verificatie toevoegen aan uitgaande aanroepen voor meer informatie over verificatietypen die beschikbaar zijn voor HTTP + Swagger.

  7. Ga door met het bouwen van uw werkstroom met andere acties die u wilt uitvoeren.

  8. Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Swagger hosten in Azure Storage

U kunt nog steeds verwijzen naar een Swagger-bestand dat niet wordt gehost of die niet voldoet aan de vereisten voor beveiliging en cross-origin. Upload het Swagger-bestand naar een blobcontainer in een Azure-opslagaccount en schakel CORS in voor dat opslagaccount. Voer de volgende stappen uit om Swagger-bestanden te maken, in te stellen en op te slaan in Azure Storage:

  1. Maak een Azure-opslagaccount.

  2. Schakel NU CORS in voor de blob. Selecteer CORS in het menu van uw opslagaccount. Geef deze waarden op het tabblad Blob Service op en selecteer Opslaan.

    Eigenschappen Weergegeven als
    Toegestane oorsprongen *
    Toegestane methoden GET, , HEADPUT
    Toegestane headers *
    Weergegeven headers *
    Maximale leeftijd (in seconden) 200

    Hoewel in dit voorbeeld de Azure-portal wordt gebruikt, kunt u een hulpprogramma zoals Azure Storage Explorer gebruiken of deze instelling automatisch configureren met behulp van dit PowerShell-voorbeeldscript.

  3. Maak een blobcontainer. Selecteer in het deelvenster Overzicht van de container de optie Toegangsniveau wijzigen. Selecteer in de lijst met openbare toegangsniveaus blob (alleen anonieme leestoegang voor blobs) en selecteer OK.

  4. Upload het Swagger-bestand naar de blobcontainer, via Azure Portal of Azure Storage Explorer.

  5. Als u wilt verwijzen naar het bestand in de blobcontainer, haalt u de HTTPS-URL op die volgt op deze indeling, wat hoofdlettergevoelig is, vanuit Azure Storage Explorer:

    https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>

Technische naslaginformatie over connectoren

Deze sectie bevat meer informatie over de uitvoer van een HTTP + Swagger-trigger en -actie.

Uitvoerwaarden

De HTTP + Swagger-aanroep retourneert de volgende informatie:

Eigenschapsnaam Type Description
Headers Object De headers van de aanvraag
hoofdtekst Object Het object met de hoofdtekstinhoud van de aanvraag
statuscode Geheel getal De statuscode van de aanvraag
Statuscode Beschrijving
200 OK
202 Geaccepteerd
400 Ongeldige aanvraag
401 Niet geautoriseerd
403 Verboden
404 Niet gevonden
500 Interne serverfout. Er is een onbekende fout opgetreden.