Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan engedélyezheti az API-elemzést a Azure API Centerben a linting motor és az eseményindítók beállításához. Ezek a képességek elemzik az API-definíciókat a szervezeti stílusszabályok betartásához, és egyéni és összefoglaló jelentéseket is létrehoznak. Az API-elemzés segít azonosítani és kijavítani az API-definíciókban előforduló gyakori hibákat és inkonzisztenciákat.
Az alábbi eljárások támogatják a linting motor és az esemény-előfizetés automatikus üzembe helyezését az API-központban. A Azure fejlesztői parancssori felület (azd) használatával egylépéses üzembe helyezést biztosít a linting infrastruktúra számára az egyszerűsített üzembe helyezési folyamat érdekében. Az Azure CLI parancsok példái a PowerShellben vagy bash héjban futtathatók. Szükség esetén külön parancs példákat is biztosítunk.
Ha manual üzembe helyezéssel szeretné beállítani a motort és az erőforrásokat, tekintse meg az Azure API Center Analyzer GitHub adattárat, amely útmutatást nyújt a függvényalkalmazás üzembe helyezéséhez és az esemény-előfizetés konfigurálásához.
Megjegyzés
Azure API Center emellett automatikusan konfigurálja az API-elemzés alapértelmezett linting motorját és függőségeit. Ha engedélyezi az önkiszolgáló elemzést a jelen cikkben leírtak szerint, felülbírálja ezeket a beépített funkciókat.
Forgatókönyv áttekintése
Ebben a forgatókönyvben az API-központ API-definícióit a Spectral open source linting motor használatával elemezheti. Egy Azure Functions beépített függvényalkalmazás futtatja a linting motort az API-központ eseményeire válaszul. A spektrális ellenőrzés ellenőrzi, hogy a JSON- vagy YAML-specifikációs dokumentumban meghatározott API-k megfelelnek-e a testre szabható API-stílusok útmutatójának. Létrejön egy elemzési jelentés, amelyet az API-központban tekinthet meg.
Az alábbi ábra a linting és az elemzés API-központban való engedélyezésének lépéseit mutatja be.
Helyezzen üzembe egy függvényalkalmazást, amely a Spectral linting motoron futtat egy API-definíciót.
Konfiguráljon egy esemény-előfizetést egy Azure API-központban, amely elindítja a függvényalkalmazást.
Az eseményt egy API-definíció hozzáadása vagy cseréje váltja ki az API-központban.
Az esemény fogadásakor a függvényalkalmazás meghívja a Spectral linting motort.
A linting motor ellenőrzi, hogy a definícióban meghatározott API-k megfelelnek-e a szervezet API-stíluskalauzának, és létrehoz egy jelentést.
Az elemzési jelentés megtekintése az API-központban.
Korlátozások
A linting jelenleg csak JSON- vagy YAML-specifikációs fájlokat támogat, például OpenAPI- vagy AsyncAPI-specifikációs dokumentumokat.
Alapértelmezés szerint a linting motor a beépített
spectral:oasszabálykészletet használja. A szabálykészlet kibővítéséhez vagy egyéni API-stílus útmutatók létrehozásához tekintse meg a Spectral-adattárat a GitHubon.A lintinget meghívó függvényalkalmazás külön díjat számít fel, ön pedig felügyeli és karbantartja.
Előfeltételek
Api-központ a Azure-előfizetésben. Előfizetés létrehozásához tekintse meg az API-központ létrehozását ismertető rövid útmutatót.
Az előfizetésben regisztrált Event Grid-erőforrás-szolgáltató. Ha regisztrálnia kell az Event Grid-erőforrás-szolgáltatót, tekintse meg a A partner által közzétett eseményekre való feliratkozás Azure Event Grid című témakört.
Azure fejlesztői parancssori felület (azd). Telepítse
azda gépére abba a környezetbe, amelyet a következő eljáráshoz használni kíván.Azure Functions Core Tools. Telepítse a gép alapvető eszközeit a következő eljáráshoz használni kívánt környezetbe. Győződjön meg arról, hogy az eszközök elérhetők a
PATHbeállítások alapján.Azure CLI esetén:
Használja a Bash-környezetet Azure Cloud Shell. További információ: Get started Azure Cloud Shell.
Ha helyileg szeretné futtatni a CLI-referenciaparancsokat, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszeren fut, érdemes lehet Azure CLI egy Docker-tárolóban futtatni. További információ: A Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login paranccsal. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd: Az Azure CLI használatával történő Azure-hitelesítést.
Amikor a rendszer kéri, először telepítse a Azure CLI bővítményt. További információ a bővítményekről: Bővítmények használata és kezelése az Azure CLI-vel.
Futtassa az az version parancsot, hogy megtalálja a telepített verziót és a függő könyvtárakat. A legújabb verzióra való frissítéshez futtassa az frissítés.
Megjegyzés
A
az apicparancsokhoz aapic-extensionAzure CLI kiterjesztés szükséges. A bővítmény dinamikusan telepíthető az elsőaz apicparancs futtatásakor, vagy manuálisan is telepítheti a bővítményt. További információ: A bővítmények kezelése Azure CLI: Telepítés, Frissítés és Eltávolítás.A
apic-extensionlegújabb módosításait és frissítéseit a release megjegyzésekben találja. Bizonyos funkciókhoz szükség lehet a bővítmény előzetes verziójára vagy adott verziójára.
Az azd deployment használata függvényalkalmazáshoz és esemény-előfizetéshez
Az alábbi eljárások automatizált lépéseket biztosítanak a Azure fejlesztői parancssori felülethez (azd) a függvényalkalmazás és az esemény-előfizetés konfigurálásához, amely lehetővé teszi a lintinget és az elemzést az API-központban.
Megjegyzés
Ha inkább manual üzembe helyezéssel szeretné beállítani a motort és az erőforrásokat, tekintse meg az Azure API Center Analyzer GitHub adattárat, amely útmutatást nyújt a függvényalkalmazás üzembe helyezéséhez és az esemény-előfizetés konfigurálásához.
A minta futtatása az azd használatával
Klónozza a minta Azure API Center Analyzer GitHub adattárat a helyi gépre.
Indítsa el a Visual Studio Code-ot, és válassza a File>Mappa megnyitása (Ctrl+K, Ctrl+O). Keresse meg a
APICenter-Analyzerklónozott adattár mappáját, és válassza a Mappa kijelölése lehetőséget.A(z) Visual Studio Code Activity Bar-ban válassza a Felfedező (Ctrl+Shift+E) elemet, hogy megtekinthesse az adattár mappastruktúráját.
Bontsa ki a
resources/rulesetsmappát, és figyelje meg aoas.yamlfájlt. Ez a fájl az aktuális API-stíluskalauzt tükrözi. Ezt a fájlt a szervezeti igényeknek megfelelően módosíthatja.Bontsa ki a
src/functionsmappát, és figyelje meg aApiAnalyzerFunction.tsfájlt. Ez a fájl a függvényalkalmazás függvénykódját tartalmazza. Ezt a fájlt úgy módosíthatja, hogy a függvény viselkedése megfeleljen az alkalmazás követelményeinek.
Nyisson meg egy terminált Visual Studio Code-ban, és hitelesítse a Azure fejlesztői parancssori felülettel (
azd):azd auth loginJótanács
A következő parancsok futtatásával elkerülheti a fejlesztési környezetek hitelesítési problémáit:
- Új fejlesztési környezet létrehozása:
azd env new - A bérlőazonosító lekérése:
az account show --query tenantId -o tsv(másolja a kimeneti azonosítót későbbre) - Kijelentkezés:
azd auth logoutparancs - Jelentkezzen be
azdaz értékével atenantId2. lépésből:azd auth login --tenant-id <tenant_ID>
Sikeres hitelesítés után a parancs kimenete megmutatja Önnek: Bejelentkezve az Azure szolgáltatásba mint <your_user_alias>.
- Új fejlesztési környezet létrehozása:
Ezután jelentkezzen be az Azure portalra az Azure CLI használatával:
az loginA rendszer kéri, hogy adja meg a hitelesítő adatait a Azure való bejelentkezéshez.
A böngészőablak megerősíti a sikeres bejelentkezést. Zárja be az ablakot, és térjen vissza ehhez az eljáráshoz.
Futtassa a következő parancsot a linting infrastruktúra üzembe helyezéséhez a Azure-előfizetésben.
Ehhez a parancshoz a következő információkra van szüksége. A legtöbb ilyen érték a «Overview» oldalon érhető el az API központ erőforrásához az Azure portálon.
- Előfizetés neve és azonosítója
- API-központ neve
- Az API-központ erőforráscsoportjának neve
- A függvényalkalmazás üzembehelyezési régiója (eltérhet az API-központ régiójától)
azd upAz utasításokat követve adja meg a szükséges üzembe helyezési információkat és beállításokat. További információ: A minta futtatásához használja a Azure fejlesztői parancssori felületet (azd).
Az üzembe helyezés előrehaladtával a kimenet a befejezett kiépítési tevékenységeket jeleníti meg:
Megjegyzés
A függvényalkalmazás létrehozása és az Azure-ra történő telepítése több percig is eltarthat.
Packaging services (azd package) (✓) Done: Packaging service function - Build Output: C:\GitHub\APICenter-Analyzer - Package Output: C:\Users\<user>\AppData\Local\Temp\api-center-analyzer-function-azddeploy-0123456789.zip Loading azd .env file from current environment Provisioning Azure resources (azd provision) Provisioning Azure resources can take some time. Subscription: <your_selected_subscription> Location: <your_selected_region_for_this_process> You can view detailed progress in the Azure Portal: https://portal.azure.com/#view/HubsExtension/DeploymentDetailsBlade/~/overview/id/%2Fsubscriptions%2F00001111-a2a2-b3b3-c4c4-dddddd555555%2Fproviders%2FMicrosoft.Resources%2Fdeployments%2F<your_azd_environment_name-0123456789> (✓) Done: Resource group: <new_resource_group_for_function_app> (5.494s) (✓) Done: App Service plan: <new_app_service_plan> (5.414s) (✓) Done: Storage account: <new_storage_account> (25.918s) (✓) Done: Log Analytics workspace: <new_workspace> (25.25s) (✓) Done: Application Insights: <new_application_insights> (5.628s) (✓) Done: Portal dashboard: <new_dashboard> (1.63s) (✓) Done: Function App: <new_function_app> (39.402s)A kimenet tartalmaz egy hivatkozást, amely az Azure portálon követi a telepítési folyamatot.
A kiépítés befejezése után a folyamat üzembe helyezi az új függvényalkalmazást a Azure portal:
Deploying services (azd deploy) (✓) Done: Deploying service function - Endpoint: https://<new_function_app>.azurewebsites.net/ Configuring EventGrid subscription for API Center Examples from AI knowledge baseAmikor az üzembe helyezés befejeződik, győződjön meg arról, hogy az új függvényalkalmazás jelen van és a függvény közzétéve lett.
Ha a
apicenter-analyerfüggvény nincs felsorolva, vagy a Status nem Enabled, tegye közzé a függvényt a Azure Functions Core Tools használatával.Konfiguráljon esemény-előfizetést a PowerShell vagy a Bash környezet használatával a Visual Studio Code-ban.
A Azure portal-ben közzétett függvény megerősítése
Ha az üzembe helyezés befejeződött, ellenőrizze, hogy az új függvényalkalmazás megtalálható-e a Azure portal, és a függvény közzé van-e téve.
Jelentkezzen be a Azure portal, keresse meg a Funkciós alkalmazás szakaszt, és válassza ki az új függvényalkalmazást a listában.
Az új függvényalkalmazás Áttekintés lapján ellenőrizze, hogy a függvényalkalmazás állapotafut-e.
A Függvények szakaszban ellenőrizze, hogy a
apicenter-analyerfüggvény szerepel-e a listában, és hogy az állapotengedélyezve van-e.
Apicenter-analyzer függvény közzététele Azure Functions Core Tools használatával
Ha az üzembe helyezési folyamat nem teszi közzé a apicenter-analyer függvényt a Azure portal függvényalkalmazásban, a következő parancsokat futtathatja egy Visual Studio Code-terminálban, és befejezheti a folyamatot.
Futtassa a következő parancsot annak ellenőrzéséhez, hogy a függvény nincs közzétéve a függvényalkalmazásban:
Megjegyzés
Ez a parancs a függvényalkalmazás üzembe helyezési folyamata által létrehozott új erőforráscsoportot használja, nem pedig az API-központ erőforráscsoportját. Cserélje le a
<function-app-name>és<new_resource_group_for_function_app>helyére a függvényalkalmazás nevét és a függvényalkalmazás erőforráscsoportjának nevét.az functionapp function list --name <function_app_name> --resource-group <new_resource_group_for_function_app> --query "[].name" -o tsvA parancs kimenetének üresnek kell lennie.
Az Explorerben bontsa ki a
src/functionsmappát, és nyissa meg aApiAnalyzerFunction.tsfájlt. Ez a művelet megerősíti, hogy a környezet úgy van beállítva, hogy a megfelelő helyen keressen tartalmat.Győződjön meg arról, hogy a környezet tartalmazza az npm package manager és a csomópont futtatókörnyezetét, és szükség szerint telepítse az eszközöket:
node --version npm --versionSzükség esetén telepítse a Azure Functions kódeszközöket a környezetbe:
npm install -g azure-functions-core-tools@4 --unsafe-perm trueFuttassa a következő parancsot a függvénykód közzétételéhez az Azure portálon a függvényalkalmazásba. Cserélje le
<function-app-name>a függvényalkalmazás nevére.func azure functionapp publish <function_app_name> --typescriptA parancs a következő kimenetet jeleníti meg:
Getting site publishing info... [2026-02-26T19:58:38.779Z] Starting the function app deployment... Uploading package... Uploading 33.8 MB [###############################################################################] Upload completed successfully. Deployment completed successfully. apicenter-analyzer - [eventGridTrigger]Az Azure portálon győződjön meg arról, hogy a
apicenter-analyzerfüggvény mostantól a függvényalkalmazásában közzé van téve és engedélyezve van.
Esemény-előfizetés konfigurálása
Miután a függvényt sikeresen közzétette a függvényalkalmazásban a Azure portal, létrehozhat egy esemény-előfizetést az API-központban, amely aktiválja a függvényalkalmazást egy API-definíciós fájl feltöltése vagy frissítésekor.
Kérje le az API-központ erőforrás-azonosítóját. Helyettesítse
<apic-name>az API-központ nevével, és<resource-group-name>az API-központ erőforráscsoportjának nevével.#! /bin/bash apicID=$(az apic show --name <apic-name> --resource-group <resource-group-name> \ --query "id" --output tsv)# PowerShell syntax $apicID=$(az apic show --name <apic-name> --resource-group <resource-group-name> ` --query "id" --output tsv)Kérje le a függvény erőforrás-azonosítóját a függvényalkalmazásban. Ebben a példában a függvény neve apicenter-analyzer.
<function-app-name>Helyettesítse be<resource-group-name>a függvényalkalmazás nevét és az erőforráscsoport nevét a függvényalkalmazáshoz.#! /bin/bash functionID=$(az functionapp function show --name <function-app-name> \ --function-name apicenter-analyzer --resource-group <resource-group-name> \ --query "id" --output tsv)# PowerShell syntax $functionID=$(az functionapp function show --name <function-app-name> ` --function-name apicenter-analyzer --resource-group <resource-group-name> ` --query "id" --output tsv)Esemény-előfizetés létrehozása a az eventgrid event-subscription create paranccsal. A létrehozott előfizetés tartalmazza az API-definíciók hozzáadásához vagy frissítéséhez szükséges eseményeket.
#! /bin/bash az eventgrid event-subscription create --name MyEventSubscription \ --source-resource-id "$apicID" --endpoint "$functionID" \ --endpoint-type azurefunction --included-event-types \ Microsoft.ApiCenter.ApiDefinitionAdded Microsoft.ApiCenter.ApiDefinitionUpdated# PowerShell syntax az eventgrid event-subscription create --name MyEventSubscription ` --source-resource-id "$apicID" --endpoint "$functionID" ` --endpoint-type azurefunction --included-event-types ` Microsoft.ApiCenter.ApiDefinitionAdded Microsoft.ApiCenter.ApiDefinitionUpdatedA parancs kimenete az esemény-előfizetés részleteit jeleníti meg. A részleteket az az eventgrid event-subscription show paranccsal is lekérheti:
az eventgrid event-subscription show --name MyEventSubscription --source-resource-id "$apicID"Megjegyzés
Az esemény-előfizetés rövid idő alatt is propagálhat a függvényalkalmazásba.
Keresse meg az API-központot a Azure portal, és erősítse meg az új esemény-előfizetést a Events>Event-előfizetések alatt.
Esemény aktiválása az API-központban
Az esemény-előfizetés teszteléséhez próbáljon meg feltölteni vagy frissíteni egy API-verzióhoz társított API-definíciós fájlt az API-központban. Például töltsön fel egy OpenAPI- vagy AsyncAPI-dokumentumot. Az esemény-előfizetés aktiválása után a függvényalkalmazás meghívja az API linting motort az API-definíció elemzéséhez.
Az API-k, API-verziók és API-definíciók API-központhoz való hozzáadásának részletes lépéseit a következő oktatóanyagban találja : API-k regisztrálása az API-központban.
Api-definíciós fájl Azure CLI való feltöltésével történő létrehozásához tekintse meg a Register API-t egy specifikációs fájlból.
Az esemény-előfizetés aktiválásának ellenőrzéséhez:
Keresse meg az API-központot, és válassza az Események lehetőséget.
Válassza az Esemény-előfizetések lapot, és válassza ki a függvényalkalmazás esemény-előfizetését.
Tekintse át a metrikákat, és győződjön meg arról, hogy az esemény-előfizetés aktiválódott, és a linting sikeres meghívása megtörtént.
Megjegyzés
A metrikák megjelenése eltarthat néhány percig.
Miután a rendszer elemezte az API-definíciót, a linting motor létrehoz egy jelentést a konfigurált API-stílus útmutatója alapján.
API-elemzési jelentések megtekintése
Az API-definícióhoz tartozó elemzési jelentést a Azure portal tekintheti meg. Az API-definíció elemzése után a jelentés a konfigurált API-stílus útmutatója alapján felsorolja a hibákat, figyelmeztetéseket és információkat.
A portálon megtekintheti az API-központ összes API-definíciójának elemzési jelentéseit is.
Elemzési jelentés API-definícióhoz
Egy API-definíció elemzési jelentésének megtekintése az API-központban:
A portálon keresse meg az API-központot, bontsa ki az Inventory elemet, és válassza az Eszközök lehetőséget.
Az Eszközlistában válassza ki azt az API-t, amelyhez hozzáadott vagy frissített egy API-definíciót.
Válassza a Verziók lehetőséget, majd bontsa ki az API megvizsgálandó sorát.
A Definíció csoportban válassza ki a feltöltött vagy frissített definíció nevét.
Válassza az Elemzés lapot.
Megnyílik az API Analysis Report, amely a konfigurált API-stílus útmutatója alapján jeleníti meg az API definícióját és hibáit, figyelmeztetéseit és információit. Az alábbi képernyőkép egy API-elemzési jelentés példáját mutatja be.
API-elemzés összegzése
Az API-központban megtekintheti az összes API-definíció elemzési jelentéseinek összegzését.
A portálon keresse meg az API-központot, bontsa ki az Irányítás elemet, és válassza az API Analysis lehetőséget.
Az egyes sorok jobb oldalán látható ikon megnyitja a definíció API Analysis Reportját .
Kapcsolódó tartalom
- API-elemzés engedélyezése az API-központban – Microsoft által felügyelt
Rendszertémakörök az Azure Event Grid rendszerben - Event Grid push-alapú kézbesítés – fogalmak
- Az Azure API Center Event Grid-sémája