Importera en Azure-webbapp som ett API
GÄLLER FÖR: Alla API Management-nivåer
Den här artikeln visar hur du importerar en Azure-webbapp till Azure API Management och testar det importerade API:et med hjälp av Azure Portal.
Kommentar
För närvarande är den här funktionen inte tillgänglig på arbetsytor.
I den här artikeln kan du se hur du:
- Importera en webbapp som finns i App Service
- Testa API:et i Azure Portal
Exponera webbapp med API Management
Azure App Service är en HTTP-baserad tjänst som är värd för webbprogram, REST-API:er och mobila serverdelar. API-utvecklare kan använda sina teknikstackar och pipelines för att utveckla API:er och publicera sina API-serverdelar som Webbappar i en säker och skalbar miljö. Använd sedan API Management för att exponera Web Apps, hantera och skydda API:erna under hela livscykeln och publicera dem för konsumenter.
API Management är den rekommenderade miljön för att exponera ett WEB App-värdbaserat API av flera skäl:
- Frikoppla hantering och skydd av klientdelen som exponeras för API-konsumenter från att hantera och övervaka serverdelswebbappen
- Hantera webb-API:er som körs som Webbappar i samma miljö som dina andra API:er
- Tillämpa principer för att ändra API-beteende, till exempel anropsfrekvensbegränsning
- Dirigera API-konsumenter till API Managements anpassningsbara utvecklarportal för att identifiera och lära dig mer om dina API:er, begära åtkomst och prova dem
Mer information finns i Om API Management.
OpenAPI-definition jämfört med jokerteckenåtgärder
API Management stöder import av Web Apps som finns i App Service som innehåller en OpenAPI-definition (Swagger-definition). En OpenAPI-definition krävs dock inte.
Om webbappen har konfigurerats med en OpenAPI-definition identifierar API Management det. Du kan också importera definitionen manuellt till API Management. API Management skapar sedan API-åtgärder som mappar direkt till definitionen, inklusive nödvändiga sökvägar, parametrar och svarstyper.
En OpenAPI-definition rekommenderas eftersom API:et importeras till API Management med hög återgivning, vilket ger dig flexibilitet att verifiera, hantera, skydda och uppdatera konfigurationer för varje åtgärd separat.
Om en OpenAPI-definition inte tillhandahålls genererar API Management jokerteckenåtgärder för vanliga HTTP-verb (GET, PUT och så vidare). Lägg till en obligatorisk sökväg eller parametrar i en jokerteckenåtgärd för att skicka en API-begäran till serverdels-API:et.
Med jokerteckenåtgärder kan du fortfarande dra nytta av samma API Management-funktioner, men åtgärder definieras inte på samma detaljnivå som standard. I båda fallen kan du redigera eller lägga till åtgärder i det importerade API:et.
Exempel
Serverdelswebbappen kan ha stöd för två GET-åtgärder:
https://myappservice.azurewebsites.net/customer/{id}
https://myappservice.azurewebsites.net/customers
Du importerar webbappen till API Management-tjänsten på en sökväg, till exempel https://contosoapi.azureapi.net/store
. I följande tabell visas de åtgärder som importeras till API Management, antingen med eller utan en OpenAPI-specifikation:
Typ | Importerade åtgärder | Exempelbegäranden |
---|---|---|
OpenAPI-specifikation | GET /customer/{id} GET /customers |
GET https://contosoapi.azureapi.net/store/customer/1 GET https://contosoapi.azureapi.net/store/customers |
Jokertecken | GET /* |
GET https://contosoapi.azureapi.net/store/customer/1 GET https://contosoapi.azureapi.net/store/customers |
Jokerteckenåtgärden tillåter samma begäranden till serverdelstjänsten som åtgärderna i OpenAPI-specifikationen. De OpenAPI-angivna åtgärderna kan dock hanteras separat i API Management.
Förutsättningar
Slutför följande snabbstart: Skapa en Azure API Management-instans.
Kontrollera att det finns en App Service i din prenumeration. Mer information finns i App Service-dokumentationen.
Anvisningar för hur du skapar ett exempel på webb-API och publicerar som en Azure-webbapp finns i:
Gå till API Management-instansen
I Azure-portalen söker du efter och väljer API Management-tjänster.
På sidan API Management-tjänster väljer du din API Management-instans.
Importera och publicera ett serverdels-API
Dricks
Följande steg startar importen med hjälp av Azure API Management i Azure Portal. Du kan också länka till API Management direkt från webbappen genom att välja API Management på appens API-meny .
Gå till API Management-tjänsten i Azure Portal och välj API:er på menyn.
Välj App Service i listan.
Välj Bläddra för att se listan över App Services i din prenumeration.
Välj en App Service. Om en OpenAPI-definition är associerad med den valda webbappen hämtar API Management den och importerar den.
Om en OpenAPI-definition inte hittas exponerar API Management API:et genom att generera jokerteckenåtgärder för vanliga HTTP-verb.
Lägg till ett API URL-suffix. Suffixet är ett namn som identifierar det här specifika API:et i den här API Management-instansen. Det måste vara unikt i den här APIM-instansen.
Du kan publicera API:et genom att associera det med en produkt. I det här fallet används den obegränsade produkten. Om du vill att API:et ska publiceras och vara tillgängligt för utvecklare lägger du till det i en produkt. Du kan göra det vid API-skapandet eller ställa in det senare.
Kommentar
Produkter är associationer med en eller flera API:er. Du kan inkludera flera API:er och erbjuda dem till utvecklare via utvecklarportalen. Utvecklare måste först prenumerera på en produkt för att få åtkomst till API:n. När de prenumererar få de en prenumerationsnyckel som går att använda till alla API:er i produkten. Om du har skapat APIM-instansen är du redan administratör, så du prenumererar på alla produkter som standard.
Som standard medföljer två exempelprodukter varje API Management-instans:
- Starter
- Obegränsat
Ange andra API-inställningar. Du kan ange värdena när du skapar eller konfigurera dem senare genom att gå till fliken Inställningar . Inställningarna beskrivs i självstudien Importera och publicera ditt första API .
Välj Skapa.
Testa det nya API:et i Azure Portal
Du kan anropa åtgärder direkt från Azure Portal, vilket är ett enkelt sätt att visa och testa åtgärderna i ett API. Du kan också testa API:et i utvecklarportalen eller med hjälp av dina egna REST-klientverktyg.
Välj det API som du skapade i föregående steg.
Välj fliken Test.
Välj en åtgärd.
Sidan visar fält för frågeparametrar och fält för sidhuvudena. Ett av huvudena är Ocp-Apim-prenumeration-Key, för prenumerationsnyckeln till den produkt som är associerad med det här API:et. Om du skapade API Management-instansen är du redan administratör, vilket innebär att nyckeln fylls i automatiskt.
Tryck på Skicka.
När testet lyckas svarar serverdelen med 200 OK och vissa data.
Testa jokerteckenåtgärden i portalen
När jokerteckenåtgärder genereras kanske åtgärderna inte mappas direkt till serverdels-API:et. En GET-åtgärd med jokertecken som importerats i API Management använder till exempel sökvägen /
som standard. Serverdels-API:et kan dock ha stöd för en GET-åtgärd på följande sökväg:
/api/TodoItems
Du kan testa sökvägen /api/TodoItems
på följande sätt.
Välj det API som du skapade och välj åtgärden.
Välj fliken Test.
I Mallparametrar uppdaterar du värdet bredvid jokertecknet (*). Ange till exempel
api/TodoItems
. Det här värdet läggs till i sökvägen/
för jokerteckenåtgärden.Välj Skicka.
Lägg till andra API:er
Du kan skapa ett API för API:er som exponeras av olika tjänster, inklusive:
- En OpenAPI-specifikation
- ETT SOAP-API
- Ett GraphQL-API
- En webbapp som finns i Azure App Service
- Azure-funktionsapp
- Azure Logic Program-program
- Azure Service Fabric
Lägg till ett annat API i ditt befintliga API med hjälp av följande steg.
Kommentar
När du importerar ett annat API läggs åtgärderna i ditt aktuella API.
Gå till din Azure API Management-instans i Azure-portalen.
Välj API:er på sidan Översikt eller på menyn till vänster.
Klicka på ... intill det API som du vill lägga till ett annat API till.
Välj Import från den nedrullningsbara menyn.
Välj en tjänst som ett API ska importeras från.
Närliggande information
- Begränsningar för API-import
- Importera en OpenAPI-specifikation
- Importera ett SOAP-API
- Importera ett SOAP-API och konvertera till REST
- Importera ett App Service-API
- Importera ett API för containerapp
- Importera ett WebSocket-API
- Importera ett GraphQL-API
- Importera ett GraphQL-schema och konfigurera fältmatchare
- Importera en Azure-funktionsapp
- Importera en Azure-logikapp
- Importera en Service Fabric-tjänst
- Importera ett Azure OpenAI-API
- Importera ett OData-API
- Importera SAP OData-metadata
- Importera ett gRPC-API
- Redigera ett API