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.
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 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
- Slutför följande snabbstart: Skapa en Azure API Management-instans.
- Kontrollera att det finns en containerapp som exponerar ett webb-API i din prenumeration. Mer information finns i Dokumentation om Container Apps.
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
Gå till DIN API Management-tjänst i Azure-portalen och välj API:er på menyn.
Välj ContainerApp i listan.
Välj Bläddra för att se listan över Container Apps i din prenumeration.
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.
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.
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
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-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.
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. 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.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