Importera en Azure Container App som ett API

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

Den här artikeln visar hur du importerar en Azure Container App till Azure API Management och testar det importerade API:et med hjälp av Azure-portalen. I den här artikeln kan du se hur du:

  • Importera en containerapp som exponerar ett webb-API
  • Testa API:et i Azure Portal

Exponera containerapp med API Management

Med Azure Container Apps kan du distribuera containerbaserade appar utan att hantera komplex infrastruktur. API-utvecklare kan skriva kod med hjälp av önskat programmeringsspråk eller ramverk, skapa mikrotjänster med fullständigt stöd för Dapr (Distributed Application Runtime) och skala baserat på HTTP-trafik eller andra händelser.

API Management är den rekommenderade miljön för att exponera ett värdbaserat webb-API för containerappar av flera skäl:

  • Frikoppla hantering och skydd av klientdelen som exponeras för API-konsumenter från att hantera och övervaka serverdelswebb-API:et
  • Hantera webb-API:er som finns som Container Apps 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 Container Apps som tillhandahåller en OpenAPI-specifikation (Swagger-definition). En OpenAPI-specifikation krävs dock inte. Vi rekommenderar att du anger en OpenAPI-specifikation. API Management kan importera enskilda åtgärder så att du kan verifiera, hantera, skydda och uppdatera konfigurationer för varje åtgärd separat.

Om Container App exponerar en OpenAPI-specifikation skapar API Management API-åtgärder som mappar direkt till definitionen. API Management söker efter en OpenAPI-specifikation på flera platser

  • Konfigurationen av containerappen.
  • /openapi.json
  • /openapi.yml
  • /swagger/v1/swagger.json

Om en OpenAPI-specifikation inte tillhandahålls genererar API Management jokerteckenåtgärder för vanliga HTTP-verb (GET, PUT och så vidare). Du kan fortfarande dra nytta av samma API Management-funktioner, men åtgärder definieras inte på samma detaljnivå.

I båda fallen kan du redigera eller lägga till åtgärder i API:et efter importen.

Exempel

Din serverdelscontainerapp kan ha stöd för två GET-åtgärder:

  • https://myappservice.azurewebsites.net/customer/{id}
  • https://myappservice.azurewebsites.net/customers

Du importerar containerappen till DIN API Management-tjänst på en sökväg, till exempel https://contosoapi.azure-api.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.azure-api.net/store/customer/1

GET https://contosoapi.azure-api.net/store/customers
Jokertecken GET /* GET https://contosoapi.azure-api.net/store/customer/1

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

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

  2. Välj ContainerApp i listan.

    Skapa från containerappen

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

  4. Välj en containerapp. Om en OpenAPI-definition är associerad med den valda containerappen 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. Den måste vara unik i den här API Management-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.

    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 API Management-instansen är du administratör och prenumererar på varje produkt som standard.

    Varje API Management-instans levereras med två exempelprodukter när de skapas:

    • 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 Container App

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. En av rubrikerna är Ocp-Apim-Subscription-Key, för prenumerationsnyckeln för produkten 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