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-portalen.

Kommentar

Du kan använda API Management-tillägget för Visual Studio Code för att importera och hantera dina API:er. Följ självstudien OM API Management-tillägget för att installera och komma igång.

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-specifikation 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-specifikation (Swagger-definition). En OpenAPI-specifikation krävs dock inte.

  • Om webbappen har en konfigurerad OpenAPI-specifikation i en API-definition skapar API Management API-åtgärder som mappar direkt till definitionen, inklusive nödvändiga sökvägar, parametrar och svarstyper.

    En OpenAPI-specifikation 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-specifikation 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

Gå till API Management-instansen

  1. I Azure-portalen söker du efter och väljer API Management-tjänster.

    Välj API Management-tjänster

  2. På sidan API Management-tjänster väljer du din API Management-instans.

    Välj 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-portalen. Du kan också länka till API Management direkt från webbappen genom att välja API Management på appens API-meny .

  1. Gå till DIN API Management-tjänst i Azure-portalen och välj API:er på menyn.

  2. Välj App Service i listan.

    Skapa från App Service

  3. Välj Bläddra för att se listan över App Services i din prenumeration.

  4. 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.

  5. 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.

  6. 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
  7. 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.

  8. Välj Skapa. Skapa API från App Service

Testa det nya API:et i Azure-portalen

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.

  1. Välj det API som du skapade i föregående steg.

  2. Välj fliken Test.

  3. 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.

  4. 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.

  1. Välj det API som du skapade och välj åtgärden.

  2. Välj fliken Test.

  3. 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.

    Testa jokerteckenåtgärd

  4. 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.

  1. Gå till din Azure API Management-instans i Azure-portalen.

    Gå till Azure API Mgmt-instans

  2. Välj API:er på sidan Översikt eller på menyn till vänster.

    Välj API:er

  3. Klicka på ... intill det API som du vill lägga till ett annat API till.

  4. Välj Import från den nedrullningsbara menyn.

    Välj Importera

  5. Välj en tjänst som ett API ska importeras från.

    Välj tjänst

Nästa steg