Aktivera API-analys i DITT API Center – självhanterad
Den här artikeln beskriver hur du aktiverar API-analys i Azure API Center genom att manuellt konfigurera en lintningsmotor och utlösare. API-analys erbjuder lintningsfunktioner för att analysera API-definitioner i din organisations API Center. Linting säkerställer att dina API-definitioner följer organisationens stilregler och genererar både enskilda rapporter och sammanfattningsrapporter. Använd API-analys för att identifiera och korrigera vanliga fel och inkonsekvenser i DINA API-definitioner.
Kommentar
I förhandsversionen kan Azure API Center också automatiskt konfigurera en lintningsmotor och eventuella nödvändiga beroenden och utlösare. Läs mer.
Scenarioöversikt
I det här scenariot analyserar du API-definitioner i api-centret med hjälp av lintningsmotorn Spectral öppen källkod. En Azure Functions-app kör lintningsmotorn som svar på händelser i api-centret. Spectral kontrollerar att API:erna som definierats i ett JSON- eller YAML-specifikationsdokument överensstämmer med reglerna i en anpassningsbar API-formatguide. En analysrapport genereras som du kan visa i api-centret.
Följande diagram visar stegen för att aktivera lintning och analys i api-centret.
Distribuera en Azure Functions-app som kör lintningsmotorn Spectral i en API-definition.
Konfigurera en händelseprenumeration i ett Azure API Center för att utlösa funktionsappen.
En händelse utlöses genom att lägga till eller ersätta en API-definition i API Center.
När du tar emot händelsen anropar funktionsappen lintingmotorn Spectral.
Lintningsmotorn kontrollerar att API:erna som definierats i definitionen överensstämmer med organisationens API-formatguide och genererar en rapport.
Visa analysrapporten i API-centret.
Alternativ för att distribuera lintingmotorn och händelseprenumerationen
Den här artikeln innehåller två alternativ för att distribuera lintningsmotorn och händelseprenumerationen i DITT API Center:
Automatiserad distribution – Använd Azure Developer CLI (
azd
) för enstegsdistribution av linting-infrastruktur. Det här alternativet rekommenderas för en effektiv distributionsprocess.Manuell distribution – Följ stegvisa anvisningar för att distribuera Azure Functions-appen och konfigurera händelseprenumerationen. Det här alternativet rekommenderas om du föredrar att distribuera och hantera resurserna manuellt.
Begränsningar
- Linting stöder för närvarande endast JSON- eller YAML-specifikationsfiler, till exempel OpenAPI- eller AsyncAPI-specifikationsdokument.
- Som standard använder lintningsmotorn den inbyggda
spectral:oas
regeluppsättningen. Information om hur du utökar regeluppsättningen eller skapar anpassade API-formatguider finns i Spectral GitHub-lagringsplatsen. - Azure-funktionsappen som anropar linting debiteras separat och du hanterar och underhåller den.
Förutsättningar
Ett API-center i din Azure-prenumeration. Om du inte redan har skapat ett kan du läsa Snabbstart: Skapa ditt API-center.
Event Grid-resursprovidern som är registrerad i din prenumeration. Om du behöver registrera Event Grid-resursprovidern kan du läsa Prenumerera på händelser som publicerats av en partner med Azure Event Grid.
För Azure CLI:
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Kommentar
az apic
kommandon kräver Azure CLI-tilläggetapic-extension
. Om du inte har använtaz apic
kommandon kan tillägget installeras dynamiskt när du kör ditt förstaaz apic
kommando, eller så kan du installera tillägget manuellt. Läs mer om Azure CLI-tillägg.Se viktig information för de senaste ändringarna och uppdateringarna
apic-extension
i .Kommentar
Azure CLI-kommandoexempel i den här artikeln kan köras i PowerShell eller ett bash-gränssnitt. Vid behov på grund av olika variabelsyntax tillhandahålls separata kommandoexempel för de två gränssnitten.
azd
distribution av Azure Functions-appen och händelseprenumeration
Det här avsnittet innehåller automatiserade steg med hjälp av Azure Developer CLI för att konfigurera Azure Functions-appen och händelseprenumerationen som möjliggör lintning och analys i DITT API Center. Du kan också konfigurera resurserna manuellt.
Andra förutsättningar för det här alternativet
Kör exemplet med azd
Klona GitHub-lagringsplatsen och öppna den i Visual Studio Code.
Ändra katalogen till
APICenter-Analyzer
mappen på lagringsplatsen.resources/rulesets
I mappen hittar du enoas.yaml
fil. Den här filen visar den aktuella API-formatguiden och kan ändras baserat på organisationens behov och krav.Autentisera med Azure Developer CLI och Azure CLI med följande kommandon:
azd auth login az login
Kör följande kommando för att distribuera linting-infrastrukturen till din Azure-prenumeration.
azd up
Följ anvisningarna för att ange nödvändig distributionsinformation och inställningar, till exempel miljönamnet och API Center-namnet. Mer information finns i Köra exemplet med hjälp av Azure Developer CLI (azd).
Kommentar
Distributionen kan ta några minuter.
När distributionen är klar går du till API-centret i Azure Portal. I den vänstra menyn väljer du Händelser>Händelseprenumerationer för att visa händelseprenumerationen som skapades.
Nu kan du ladda upp en API-definitionsfil till api-centret för att utlösa händelseprenumerationen och köra lintingmotorn.
Manuella steg för att konfigurera Azure Functions-app och händelseprenumeration
Det här avsnittet innehåller de manuella distributionsstegen för att konfigurera Azure Functions-appen och händelseprenumerationen för att aktivera lintning och analys i DITT API Center. Du kan också använda Azure Developer CLI för automatisk distribution.
Andra förutsättningar för det här alternativet
- Visual Studio Code med Azure Functions-tillägget v1.10.4 eller senare.
Steg 1. Distribuera din Azure Functions-app
Så här distribuerar du Azure Functions-appen som kör lintningsfunktionen i API-definitioner:
Klona GitHub-lagringsplatsen och öppna den i Visual Studio Code.
resources/rulesets
I mappen hittar du enoas.yaml
fil. Den här filen visar den aktuella API-formatguiden och kan ändras baserat på organisationens behov och krav.Du kan också köra funktionsappen lokalt för att testa den. Mer information finns i README-filen på lagringsplatsen.
Distribuera funktionsappen till Azure. Anvisningar finns i Snabbstart: Skapa en funktion i Azure med TypeScript med Hjälp av Visual Studio Code.
Kommentar
Det kan ta några minuter att distribuera funktionsappen.
Logga in på Azure Portal och gå till funktionsappen.
På sidan Översikt kontrollerar du följande information:
- Kontrollera att funktionsappens status är Körs.
- Under Funktioner bekräftar du att status för funktionen apicenter-analyzer är Aktiverad.
Steg 2. Konfigurera hanterad identitet i funktionsappen
Om du vill göra det möjligt för funktionsappen att komma åt API-centret konfigurerar du en hanterad identitet för funktionsappen. Följande steg visar hur du aktiverar och konfigurerar en systemtilldelad hanterad identitet för funktionsappen med hjälp av Azure Portal eller Azure CLI.
- I Azure Portal navigerar du till funktionsappen och väljer Identitet under avsnittet Inställningar.
- På fliken Systemtilldelat anger du Status till På och väljer sedan Spara.
Nu när den hanterade identiteten är aktiverad tilldelar du rollen Azure API Center Compliance Manager för åtkomst till API Center.
- I Azure Portal går du till API-centret och väljer Åtkomstkontroll (IAM)..
- Välj + Lägg till lägg till > rolltilldelning.
- Välj Jobbfunktionsroller och välj sedan Azure API Center Compliance Manager. Välj Nästa.
- På sidan Medlemmar går du till Tilldela åtkomst till och väljer Hanterad identitet > + Välj medlemmar.
- På sidan Välj hanterade identiteter söker du efter och väljer funktionsappens hanterade identitet. Klicka på Välj och sedan på Nästa.
- Granska rolltilldelningen och välj Granska + tilldela.
Steg 3. Konfigurera händelseprenumeration i DITT API Center
Skapa nu en händelseprenumeration i API Center för att utlösa funktionsappen när en API-definitionsfil laddas upp eller uppdateras. Följande steg visar hur du skapar händelseprenumerationen med hjälp av Azure Portal eller Azure CLI.
I Azure Portal går du till API-centret och väljer Händelser.
På fliken Kom igång väljer du Azure-funktion.
Gör följande på sidan Skapa händelseprenumeration :
Ange ett beskrivande namn för händelseprenumerationen och välj Event Grid-schema.
I Ämnesinformation anger du valfritt systemämnesnamn .
I Händelsetyper väljer du följande händelser:
- API-definition har lagts till
- API-definitionen har uppdaterats
I Slutpunktsinformation väljer du Azure-funktion > Konfigurera en slutpunkt.
På sidan Välj Azure-funktion väljer du funktionsappen och den apicenter-linter-funktion som du har konfigurerat. Klicka på Bekräfta markering.
Välj Skapa.
Välj fliken Händelseprenumerationer och välj Uppdatera. Bekräfta att etableringstillståndet för händelseprenumerationen är Lyckades.
Kommentar
Det kan ta en kort tid innan händelseprenumerationen sprids till funktionsappen.
Utlösarhändelse i DITT API Center
Testa händelseprenumerationen genom att prova att ladda upp eller uppdatera en API-definitionsfil som är associerad med en API-version i API Center. Du kan till exempel ladda upp ett OpenAPI- eller AsyncAPI-dokument. När händelseprenumerationen har utlösts anropar funktionsappen API-lintningsmotorn för att analysera API-definitionen.
- Detaljerade steg för att lägga till en API-, API-version och API-definition i API-centret finns i Självstudie: Registrera API:er i ditt API Center.
- Information om hur du skapar ett API genom att ladda upp en API-definitionsfil med hjälp av Azure CLI finns i Registrera API från en specifikationsfil.
Bekräfta att händelseprenumerationen utlöstes:
Gå till API-centret och välj Händelser på den vänstra menyn.
Välj fliken Händelseprenumerationer och välj händelseprenumerationen för funktionsappen.
Granska måtten för att bekräfta att händelseprenumerationen utlöstes och att linting anropades korrekt.
Kommentar
Det kan ta några minuter innan måtten visas.
När du har analyserat API-definitionen genererar lintningsmotorn en rapport baserat på den konfigurerade API-formatguiden.
Visa API-analysrapporter
Du kan visa analysrapporten för din API-definition i Azure Portal. När en API-definition har analyserats visar rapporten fel, varningar och information baserat på den konfigurerade API-formatguiden.
I portalen kan du också visa en sammanfattning av analysrapporter för alla API-definitioner i ditt API Center.
Analysrapport för en API-definition
Så här visar du analysrapporten för en API-definition i api-centret:
- I portalen navigerar du till API-versionen i api-centret där du har lagt till eller uppdaterat en API-definition.
- I den vänstra menyn går du till Information och väljer Definitioner.
- Välj den API-definition som du laddade upp eller uppdaterade.
- Välj fliken Analys .
API-analysrapporten öppnas och visar API-definition och fel, varningar och information baserat på den konfigurerade API-formatguiden. Följande skärmbild visar ett exempel på en API-analysrapport.
Sammanfattning av API-analys
Så här visar du en sammanfattning av analysrapporter för alla API-definitioner i api-centret:
Gå till API-centret i portalen.
I den vänstra menyn, under Styrning, väljer du API-analys. Sammanfattningen visas.
Relaterat innehåll
Läs mer om Event Grid: