Dela via


Importera en Azure-webbapp som ett API

GÄLLER FÖR: Alla API Management-nivåer

Den här artikeln visar hur du använder Azure-portalen för att importera en Azure-webbapp som ett API till Azure API Management och testa det importerade API:et.

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 Azure App Service som ett API
  • Testa API:et i Azure Portal

Exponera en webbapp med hjälp av 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ö. De kan sedan använda API Management för att exponera webbapparna, hantera och skydda API:erna under hela livscykeln och publicera dem för konsumenter.

Användning av API Management för att exponera ett Web Apps-värdbaserat API ger följande fördelar:

  • Frikoppla hanteringen och skyddet av gränssnittet som exponeras för API-konsumenter från att hantera och övervaka backend-webbappen.
  • Hantera webb-API:er som finns 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 den anpassningsbara API Management-utvecklarportalen så att de kan identifiera och lära sig mer om dina API:er, begära åtkomst och prova API:er.

Mer information finns i Om API Management.

OpenAPI-definition jämfört med wildcardoperationer

API Management stöder import av webbappar i App Service som innehåller en OpenAPI-definition (en 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 flexibiliteten att verifiera, hantera, skydda och uppdatera konfigurationer för varje åtgärd separat.

  • Om en OpenAPI-definition inte tillhandahålls genererar API Management wildcard-operationer för de vanliga HTTP-verben (GET, PUT och så vidare). Lägg till en obligatorisk sökväg eller parametrar i en wildcard-operation för att vidarebefordra en API-begäran till backend-API:et.

    Med wildcard-operationer kan du fortfarande dra nytta av samma API Management-funktioner, men operationer definieras inte på samma detaljnivå som vanligt. 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://<app-service>.azurewebsites.net/customer/{id}
  • https://<app-service>.azurewebsites.net/customers

Du importerar webbappen till din API Management-tjänst på en sökväg som https://<api>.azureapi.net/store. I följande tabell visas de åtgärder som importeras till API Management, med eller utan en OpenAPI-specifikation:

Typ Importerade åtgärder Förfrågningar om prover
OpenAPI-specifikation GET /customer/{id}

GET /customers
GET https://<api>.azureapi.net/store/customer/1

GET https://<api>.azureapi.net/store/customers
Jokertecken GET /* GET https://<api>.azureapi.net/store/customer/1

GET https://<api>.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

Importera och publicera ett serverdels-API

Tips

I följande steg startar du importen med HJÄLP av API Management i Azure-portalen. Du kan också länka till API Management direkt från webbappen genom att välja API Management i appens API-meny .

  1. Gå till API Management-tjänsten i Azure Portal.

  2. I den vänstra menyn i avsnittet API:er väljer du API:er och sedan + Lägg till API.

  3. Välj App Service-panelen :

    Screeenshot som visar App Service-panelen.

  4. Välj Bläddra för att se listan över apptjänster i din prenumeration.

  5. Välj en apptjänst och klicka sedan på knappen Välj . 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.

  6. Lägg till ett API URL-suffix. Suffixet är ett namn som identifierar API:et i API Management-instansen. Den måste vara unik i API Management-instansen.

  7. Om du vill att API:et ska publiceras och vara tillgängligt för utvecklare växlar du till den fullständiga vyn och associerar API:et med en produkt. I det här exemplet används unlimited-produkten . (Du kan lägga till ditt API i en produkt när du skapar det eller senare via fliken Inställningar .)

    Kommentar

    Produkter är associationer till en eller flera API:er som erbjuds utvecklare via utvecklarportalen. Först måste utvecklare prenumerera på en produkt för att få åtkomst till API:et. När de har prenumererat får de en prenumerationsnyckel för alla API:er i produkten. Som skapare av API Management-instansen är du administratör och prenumererar som standard på varje produkt.

    På vissa nivåer levereras varje API Management-instans med två standardexempelprodukter:

    • Förrätt
    • Obegränsat
  8. Ange andra API-inställningar. Du kan ange dessa värden när du skapar API:et eller konfigurerar dem senare genom att gå till fliken Inställningar . Inställningarna beskrivs i självstudien Importera och publicera ditt första API .

  9. Välj Skapa. Skärmbild som visar fönstret Skapa från App Service.

Testa det nya API:et i Azure Portal

Du kan anropa åtgärder direkt från Azure-portalen. Den här metoden är ett bekvämt 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. På fliken Test väljer du en åtgärd.

    Sidan visar fält för frågeparametrar och fält för sidhuvudena. En av rubrikerna är Ocp-Apim-Subscription-Key. Denna rubrik är för prenumerationsnyckeln för den produkt som är associerad med API:et. Om du har skapat API Management-instansen är du redan administratör, så nyckeln fylls i automatiskt.

  3. Tryck på Skicka.

    När testet lyckas svarar serverdelen med 200 OK och vissa data.

Testa en wildcard-operation i portalen

När jokerteckenåtgärder genereras kanske åtgärderna inte mappas direkt till bakändens API. En GET-operation med jokertecken som har importerats till API Management använder till exempel sökvägen / som standard. Backend-API:t kan dock stödja en GET-operation på sökvägen /api/todoItems.

Så här testar du sökvägen /api/todoItems:

  1. Välj det API som du skapade och välj sedan en åtgärd.

  2. På fliken Test under 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 operationen med jokertecken.

    Skärmbild som visar stegen för att testa en åtgärd.

  3. Välj Skicka.

Lägg till andra API:er

Du kan skapa ett API av 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-funktioner
  • Azure Logic-appar
  • Azure Service Fabric

Kommentar

När du importerar ett API läggs åtgärderna till i ditt aktuella API.

Så här lägger du till ett API i ett befintligt API:

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

    Skärmbild som visar sidan API Management-tjänster.

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

    Skärmbild som visar valet av API:er på sidan Översikt.

  3. Välj ellipsen (...) bredvid det API som du vill lägga till ett annat API till.

  4. Välj Importera från den nedrullningsbara menyn:

    Skärmbild som visar kommandot Importera.

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