Anslut eller anropa REST API-slutpunkter från arbetsflöden i Azure Logic Apps
Gäller för: Azure Logic Apps (Förbrukning + Standard)
Om du vill anropa en REST API-slutpunkt från ett logikapparbetsflöde i Azure Logic Apps kan du använda de inbyggda HTTP + Swagger-åtgärderna för att anropa valfri REST API-slutpunkt via en Swagger-fil. HTTP + Swagger-utlösaren och åtgärden fungerar på samma sätt som HTTP-utlösaren och åtgärden, men ger en bättre upplevelse i arbetsflödesdesignern genom att exponera API-strukturen och utdata som beskrivs av Swagger-filen. Om du vill implementera en avsökningsutlösare följer du avsökningsmönstret som beskrivs i Skapa anpassade API:er för att anropa andra API:er, tjänster och system från logikapparbetsflöden.
Begränsningar
De inbyggda HTTP + Swagger-åtgärderna stöder för närvarande endast OpenAPI 2.0, inte OpenAPI 3.0.
Förutsättningar
Ett konto och en Azure-prenumeration. Om du heller inte har någon Azure-prenumeration kan du registrera ett kostnadsfritt Azure-konto.
URL:en för Swagger-filen som beskriver mål-REST API-slutpunkten som du vill anropa
Vanligtvis måste REST-slutpunkten uppfylla följande villkor för att utlösaren eller åtgärden ska fungera:
Swagger-filen måste finnas på en HTTPS-URL som är offentligt tillgänglig.
Swagger-filen måste innehålla en operationID-egenskap för varje åtgärd i definitionen. Annars visar anslutningsappen bara den sista åtgärden i Swagger-filen.
Swagger-filen måste ha CORS (Cross-Origin Resource Sharing) aktiverat.
Exemplen i den här guiden använder Azure AI Face, som kräver en resursnyckel och region för Azure AI-tjänster.
Kommentar
Om du vill referera till en Swagger-fil som inte är värdbaserad eller som inte uppfyller kraven för säkerhet och korsande ursprung kan du ladda upp Swagger-filen till en blobcontainer i ett Azure-lagringskonto och aktivera CORS för det lagringskontot så att du kan referera till filen.
Arbetsflödet för förbruknings- eller standardlogikappen där du vill anropa målslutpunkten. Börja med HTTP + Swagger-utlösaren genom att skapa en logikappresurs med ett tomt arbetsflöde. Om du vill använda åtgärden HTTP + Swagger startar du arbetsflödet med valfri utlösare. I det här exemplet används HTTP + Swagger-utlösaren som den första åtgärden.
Lägga till en HTTP + Swagger-utlösare
Den här inbyggda utlösaren skickar en HTTP-begäran till en URL för en Swagger-fil som beskriver ett REST-API. Utlösaren returnerar sedan ett svar som innehåller filens innehåll.
Öppna din standardlogikappresurs i Azure-portalen och ett tomt arbetsflöde i designern.
I designern följer du de här allmänna stegen för att lägga till HTTP-utlösaren med namnet HTTP + Swagger.
I rutan Swagger-slutpunkt anger du URL:en för den Swagger-fil som du vill använda och väljer Lägg till åtgärd.
Se till att använda eller skapa en egen slutpunkt. Till exempel använder de här stegen följande Swagger-URL för Ansikts-API för Azure AI i regionen USA, västra och kanske inte fungerar i din specifika utlösare:
https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0
När designern visar de åtgärder som beskrivs av Swagger-filen väljer du den åtgärd som du vill använda.
I följande exempel byter du namn på utlösaren till Ansiktsigenkänning – Identifiera så att utlösaren har ett mer beskrivande namn.
Ange värdena för utlösarparametrarna, som varierar beroende på den valda åtgärden, som du vill inkludera i slutpunktsanropet. Konfigurera upprepningen för hur ofta du vill att utlösaren ska anropa slutpunkten.
Om du vill lägga till andra tillgängliga parametrar öppnar du listan Avancerade parametrar och väljer önskade parametrar.
Mer information om autentiseringstyper som är tillgängliga för HTTP + Swagger finns i Lägga till autentisering i utgående anrop.
Fortsätt att skapa arbetsflödet med de åtgärder som du vill köra när utlösaren utlöses.
Spara arbetsflödet när du är klar. I verktygsfältet för designern väljer du Spara.
Lägga till en HTTP + Swagger-åtgärd
Den här inbyggda åtgärden skickar en HTTP-begäran till URL:en för Swagger-filen som beskriver ett REST-API. Åtgärden returnerar sedan ett svar som innehåller filens innehåll.
Öppna din standardlogikappresurs och ditt arbetsflöde i designern i Azure-portalen.
I designern följer du de här allmänna stegen för att lägga till HTTP-åtgärden med namnet HTTP + Swagger.
I rutan Swagger-slutpunkt anger du URL:en för den Swagger-fil som du vill använda och väljer Lägg till åtgärd.
Se till att använda eller skapa en egen slutpunkt. Till exempel använder de här stegen följande Swagger-URL för Ansikts-API för Azure AI i regionen USA, västra och kanske inte fungerar i din specifika utlösare:
https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0
När designern visar de åtgärder som beskrivs av Swagger-filen väljer du den åtgärd som du vill använda.
I följande exempel byter du namn på åtgärden till Ansiktsigenkänning – Identifiera så att åtgärden har ett mer beskrivande namn.
Ange värdena för åtgärdsparametrarna, som varierar beroende på den valda åtgärden, som du vill inkludera i slutpunktsanropet.
Om du vill lägga till andra tillgängliga parametrar öppnar du listan Avancerade parametrar och väljer önskade parametrar.
Mer information om autentiseringstyper som är tillgängliga för HTTP + Swagger finns i Lägga till autentisering i utgående anrop.
Fortsätt att skapa arbetsflödet med andra åtgärder som du vill köra.
Spara arbetsflödet när du är klar. I verktygsfältet för designern väljer du Spara.
Värdhantera Swagger i Azure Storage
Du kan fortfarande referera till en Swagger-fil som inte finns eller som inte uppfyller kraven för säkerhet och korsande ursprung. Ladda upp Swagger-filen till blobcontainern i ett Azure-lagringskonto och aktivera CORS på det lagringskontot. Följ dessa steg för att skapa, konfigurera och lagra Swagger-filer i Azure Storage:
Aktivera nu CORS för bloben. På lagringskontots meny väljer du CORS. På fliken Blob-tjänst anger du dessa värden och väljer sedan Spara.
Property Värde Tillåtet ursprung *
Tillåtna metoder GET
, ,HEAD
PUT
Tillåtna rubriker *
Synliga rubriker *
Maxålder (i sekunder) 200
Även om det här exemplet använder Azure-portalen kan du använda ett verktyg som Azure Storage Explorer eller konfigurera den här inställningen automatiskt med hjälp av det här PowerShell-exempelskriptet.
Skapa en blobcontainer. I containerns översiktsfönster väljer du Ändra åtkomstnivå. I listan Offentlig åtkomstnivå väljer du Blob (endast anonym läsåtkomst för blobar)och väljer OK.
Ladda upp Swagger-filen till blobcontainern, antingen via Azure-portalen eller Azure Storage Explorer.
Om du vill referera till filen i blobcontainern hämtar du HTTPS-URL:en som följer det här formatet, som är skiftlägeskänsligt, från Azure Storage Explorer:
https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>
Anslut eller teknisk referens
Det här avsnittet innehåller mer information om utdata från en HTTP + Swagger-utlösare och åtgärd.
Utdata
HTTP + Swagger-anropet returnerar följande information:
Egenskapsnamn | Type | Beskrivning |
---|---|---|
Headers | Objekt | Rubrikerna från begäran |
brödtext | Objekt | Objektet med brödtextinnehållet från begäran |
statuskod | Integer | Statuskoden från begäran |
Statuskod | beskrivning |
---|---|
200 | OK |
202 | Godkänd |
400 | Felaktig begäran |
401 | Behörighet saknas |
403 | Ej tillåtet |
404 | Hittades inte |
500 | Internt serverfel. Ett okänt fel uppstod. |