Dela via


Importera en Azure-containerapp som ett API

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

Den här artikeln beskriver hur du importerar en Azure-containerapp till Azure API Management som ett API och testar det importerade API:et med hjälp av Azure-portalen.

Anmärkning

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 containerapp som exponerar ett webb-API
  • Testa API:et i Azure Portal

Exponera en containerapp med hjälp av API Management

Med Azure Container Apps kan du distribuera containerbaserade appar utan att hantera komplex infrastruktur. API-utvecklare kan skriva kod med ö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.

Genom att använda API Management för att exponera ett webb-API som finns i en containerapp får du följande fördelar:

  • Frikoppla hantering och säkring av frontend som exponeras för API-konsumenter från hanteringen och övervakningen av backend-webb-API:et.
  • Hantera webb-API:er som finns som containerappar 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-specifikation och jokerteckensoperationer

API Management stöder import av containerappar som tillhandahåller en OpenAPI-specifikation (en Swagger-definition). En OpenAPI-specifikation krävs inte, men vi rekommenderar att du anger en. API Management kan importera enskilda åtgärder, vilket gör att du kan verifiera, hantera, skydda och uppdatera konfigurationer för varje åtgärd separat.

Om containerappen 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 generella operationer 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 när du har importerat det.

Exempel

Din serverdelscontainerapp 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 containerappen till DIN API Management-tjänst på en sökväg som https://<api>.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 Provförfrågningar
OpenAPI-specifikation GET /customer/{id}

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

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

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

Importera och publicera ett serverdels-API

  1. Gå till DIN API Management-tjänst i Azure-portalen och välj API:er> i det vänstra fönstret.

  2. Under Skapa från Azure-resurs väljer du Container App:

    Skärmbild som visar panelen ContainerApp.

  3. Välj Bläddra för att se en lista över containerappar 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 API:et i API Management-instansen. Den måste vara unik i API Management-instansen.

  6. Associera API:et med en produkt. Välj Fullständig och välj sedan produkten i Produkt. I det här fallet används Unlimited-produkten . Om du vill att API:et ska publiceras och vara tillgängligt för utvecklare måste du lägga till det i en produkt.

    Anmärkning

    Produkter är associationer till 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år de en prenumerationsnyckel som är bra för alla API:er i produkten. Om du har skapat API Management-instansen är du administratör och prenumererar på varje produkt som standard.

    I vissa prisnivåer levereras en API Management-instans med två exempelprodukter när du skapar den:

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

  8. Välj Skapa.

    Skärmbild som visar fönstret Skapa från containerapp.

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 driften av ett API. Du kan också testa API:et i utvecklarportalen eller med hjälp av dina egna REST-klientverktyg.

Så här testar du API:et i Azure-portalen:

  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. Denna rubrik är för prenumerationsnyckeln för den produkt som är associerad med API:et. Om du skapade API Management-instansen är du administratör, så fylls nyckeln i automatiskt.

  4. Välj Skicka.

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

Testa jokerteckenfunktionen i portalen

När jokerteckensoperationer genereras kanske operationerna inte mappas direkt till backend-API:et. Ett wildcard GET-anrop som importerats i API Management använder till exempel sökvägen / som standard. Ditt backend-API kan dock ha stöd för en GET-operation på följande sökväg:

/api/TodoItems

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

  1. Välj det API som du skapade och välj sedan å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 operationen med jokertecken.

    Skärmbild som visar stegen för att testa drift med jokertecken.

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

Anmärkning

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.