Så här fungerar Azure API Management
Här diskuterar vi hur Azure API Management fungerar från tre användningspunkter. Den här kunskapen hjälper dig att fortsätta utvärdera om Azure API Management är en bra lösning för att hantera organisationens API:er.
I den här lektionen får du lära dig mer om hur Azure API Management fungerar för följande typer av användare:
- API-konsumenter
- API-leverantörer
- Apputvecklare
Så här fungerar Azure API Management för API-konsumenter
En API-konsument är en entitet som skickar en begäran till API:et för data. Till exempel kan någon av dessa entiteter vara en API-konsument:
- Mobilapp
- Webbapp
- IoT-enhet
Den viktigaste Azure API Management-komponenten för konsumenter är gatewayen. Alla API-anrop för konsumenter dirigeras först till din gatewayslutpunkt. API-konsumenter interagerar bara direkt med gatewayen och aldrig med den faktiska API-distributionsinstansen.
Gatewayen utför många uppgifter ur konsumentens synvinkel, men följande är de viktigaste:
- Autentisering. Gatewayen övervakar åtkomsten till API:et genom att verifiera konsumentens prenumerationsnycklar, JWT-token och andra autentiseringsuppgifter.
- Säkerhet. Gatewayen förhindrar API-missbruk genom att framtvinga fördefinierade hastighetsgränser och konsumentanvändningskvoter, eller genom att validera begäranden och svar mot API:ets schema.
- Transformering. Gatewayen transformerar API-begäran eller -svaret efter behov. Om serverdelstjänsten till exempel svarar med XML-data kan du modernisera API:et genom att omvandla XML till JSON automatiskt, enligt följande bild.
- Routning. När en API-begäran har autentiserats, verifierats och transformerats dirigerar gatewayen anropet till serverdelstjänsten där API:et distribueras.
- Prestanda. Gatewayen kan lagra serverdels-API-svaret i en cache. I situationer där serverdelssvaret är statiskt över tid ger efterföljande svar från cachen konsumenterna snabbare svarstider och minskar belastningen på serverdelsservern.
Så här fungerar Azure API Management för API-leverantörer
Om du är EN API-provider har du fortfarande mycket arbete att göra efter att dina API:er har publicerats. Det här arbetet omfattar:
- Ange API-principer
- Hantera API-konsumenter
- Hantera API-revisioner och -versioner
- Övervaka och analysera dina API:er
Du kan utföra alla dessa uppgifter med mera med hjälp av administrationsgränssnittet för Azure API Management i Azure Portal. Eller genom att använda verktyg som Azure CLI eller Azure PowerShell. Förutom att du kan ange API-principer (som du lärde dig i föregående lektion) kan du utföra följande uppgifter i administrationsgränssnittet:
- Definiera och importera API-specifikationer. Importera en OpenAPI-specifikation, ett REST API, ett SOAP-API (Simple Object Access Protocol) (som du kan konvertera till REST), ett WebSocket-API eller ett GraphQL-API. Du kan också skapa ett API genom att importera instanser av följande Azure-tjänster: Web App, Container App, Function App, Logic App och Service Fabric. Du kan också skapa ett tomt API och definiera det manuellt.
- Hantera användare och grupper.
- En användare är ett utvecklarkonto. Det är ett konto för en API-konsument. Du kan lägga till användare manuellt eller bjuda in användare att skapa ett konto, men de flesta användare skapar sina egna konton med hjälp av utvecklarportalen.
- En grupp är en samling relaterade användare. Du kan associera en grupp med en viss API-produkt och sedan har varje användare i gruppen åtkomst till produkten i utvecklarportalen.
- Paketera API:er i produkter. I Azure API Management är en produkt en grupp relaterade API:er. Genom att paketera flera API:er som en enda produkt kan du konfigurera bara produkten i stället för att konfigurera alla API:er separat. Du kan till exempel ange hastighetsgränser och andra principer, definiera användningsvillkor, lägga till grupper och så vidare. Den här konfigurationen tillämpas på alla API:er i produkten. När du har publicerat produkten kan konsumenter prenumerera på den och använda dess API:er med en enda prenumerationsnyckel.
- Hantera API-revisioner och versioner. När ditt API-utvecklarteam behöver göra ändringar i ett API exponerar du ändringen på ett säkert och kontrollerat sätt som inte påverkar konsumenterna negativt med hjälp av revisioner och versioner:
- En revision är en relativt liten eller icke-inbrytande ändring av ett API. Utvecklingsteamet kan koda och testa revisionen separat från produktions-API:et, som i följande bild. När revisionen är klar för konsumenter använder du sedan administrationsgränssnittet för Azure API Management för att ange det uppdaterade API:et som den aktuella revisionen.
- En version är en relativt stor eller icke-bakåtkompatibel ändring av ett API. Med Azure API Management kan du erbjuda utvecklare flera versioner av API:et samtidigt. Den erbjuder också flera versionsscheman, inklusive sökvägsbaserad, rubrikbaserad och frågesträngsbaserad versionshantering.
- Övervaka och analysera API:er. Administrationsgränssnittet innehåller inbyggda övervakningsverktyg för att spåra och granska API-trafik i realtid och analys för insikter om hur konsumenter använder dina publicerade API:er. Azure API Management har också stöd för flera Azure-verktyg för att övervaka API:er och köra analysarbetsbelastningar. Azure-tjänster som stöds av Azure API Management omfattar Azure Monitor-loggar, Application Insights och Event Hubs.
Så här fungerar Azure API Management för apputvecklare
Förutom förbrukningsnivån innehåller alla Azure API Management-instanser en utvecklarportal där du visar dina API:er för potentiella och befintliga API-konsumenter. Utvecklarportalen levereras med ett standardgränssnitt som är anpassningsbart för att matcha organisationens varumärke och krav.
Apputvecklare med utvecklarkonton loggar in på utvecklarportalen (som även accepterar gästanvändare som ännu inte har något konto). Utvecklare får sedan ett webbgränssnitt som gör att de kan interagera med API:er på följande sätt:
- Åtkomst till API-dokumentation. Utvecklare kan granska dokumentationen som du har angett för varje API.
- Testa ett API. Utvecklarportalen erbjuder en interaktiv konsol som gör det möjligt för en utvecklare att snabbt och säkert testa ett API. Utvecklaren kan välja en API-åtgärd, lägga till parametervärden och sedan skicka anropet för att avgöra vilket svar API:et returnerar.
- Granska API-kodexempel. Utvecklarportalen erbjuder API-anropsexempel på flera programmeringsspråk, inklusive C#, Java, JavaScript, PHP och Python.
- Prenumerera på ett API. När en konsument bestämmer sig för att använda ditt API gör utvecklarportalen det möjligt för användaren att skapa en prenumeration på API:et och hämta en prenumerationsnyckel som ska användas när han eller hon anropar API:et.
- Köra analys. Utvecklarportalen erbjuder analys av utvecklarens användning av ett API.