Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Azure API Center használatával katalógusba helyezheti a szervezetben használt API-kat. Bármikor megállapíthatja, hogy mely API-kat használja a szervezetében. Azt is megállapíthatja, hogy az API hol található az életciklusában, és hogy kivel lépjen kapcsolatba, ha problémák merülnek fel. Röviden: az API-k naprakész katalógusával javíthatja az irányítási, megfelelőségi és biztonsági helyzeteket.
Az alkalmazás létrehozásakor, különösen ha új forgatókönyveket integrál, előfordulhat, hogy olyan API-kat használ, amelyek nincsenek regisztrálva az Azure API Centerben. Ezeket az API-kat árnyék API-knak nevezzük. Az árnyék API-k olyan API-k, amelyek nincsenek regisztrálva a szervezetben. Lehetnek olyan API-k, amelyek még nincsenek regisztrálva, vagy lehetnek olyan API-k, amelyeket nem a szervezetében kell használni.
Annak ellenőrzéséhez, hogy az alkalmazás árnyék API-kat használ-e, használhatja a beépülő modult ApiCenterOnboardingPlugin . Ez a beépülő modul elemzi az alkalmazástól érkező API-kéréseket és jelentéseket az API Centerben nem regisztrált API-król. Emellett közvetlenül is létrehozhat új API-kat az Azure API Centerben.
Mielőtt elkezdené
Az árnyék API-k észleléséhez rendelkeznie kell egy Azure API Center-példánysal , amely információkat tartalmaz a szervezetében használt API-król.
Azure API Center-példány létrehozása
A kezdés előtt hozzon létre egy Azure API Center-példányt, és regisztrálja a szervezetben használt API-kat.
Ezek ApiCenterOnboardingPlugin az információk annak ellenőrzésére szolgálnak, hogy az alkalmazás által használt API-k regisztrálva vannak-e a szervezetben.
API-központ adatainak másolása
Az Azure API Center-példány áttekintési lapján másolja ki az API Center-példány nevét , az erőforráscsoport nevét és az előfizetés azonosítóját. Ezekre az információkra szüksége van annak ApiCenterOnboardingPlugin konfigurálásához, hogy csatlakozni tudjanak az Azure API Center-példányhoz.
Fejlesztői proxy konfigurálása
Annak ellenőrzéséhez, hogy az alkalmazás árnyék API-kat használ-e, engedélyeznie kell a ApiCenterOnboardingPlugin Dev Proxy konfigurációs fájljában. Az alkalmazás által használt API-k jelentésének létrehozásához vegyen fel egy riportert.
Engedélyezze a ApiCenterOnboardingPlugin
A devproxyrc.json fájlban adja hozzá a következő konfigurációt:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterOnboardingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "apiCenterOnboardingPlugin"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterOnboardingPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default",
"createApicEntryForNewApis": false
}
}
A subscriptionId, resourceGroupName és serviceName tulajdonságokba adja meg az Azure API Center-példány adatait.
A tulajdonságban urlsToWatch adja meg az alkalmazás által használt URL-címeket.
Tipp.
A Dev Proxy Toolkit Visual Studio Code bővítmény használatával egyszerűen kezelheti a Dev Proxy konfigurációját.
Riporter hozzáadása
A ApiCenterOnboardingPlugin rendszer jelentést készít az alkalmazás által használt API-król. A jelentés megtekintéséhez vegyen fel egy riportert a Dev Proxy konfigurációs fájljába. A Dev Proxy több riportert is kínál. Ebben a példában az egyszerű szöveges riportert használja.
Frissítse a devproxyrc.json fájlt egy egyszerű szöveges riporterre mutató hivatkozással:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterOnboardingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "apiCenterOnboardingPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterOnboardingPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default",
"createApicEntryForNewApis": false
}
}
Ellenőrizze, hogy az alkalmazás árnyék API-kat használ-e
Annak ellenőrzéséhez, hogy az alkalmazás árnyék API-kat használ-e, csatlakozzon az Azure-előfizetéséhez, futtassa a Dev Proxyt, és engedje meg, hogy elfogja az alkalmazás API-kéréseit. A Dev Proxy ezután összehasonlítja az API-kérésekkel kapcsolatos információkat az Azure API Center információival, valamint az API Centerben nem regisztrált API-k jelentéseivel.
Csatlakozás az Azure-előfizetéshez
A Dev Proxy az Azure API Center információi alapján állapítja meg, hogy az alkalmazás árnyék API-kat használ-e. Az információk beszerzéséhez szüksége van egy kapcsolatra az Azure-előfizetéshez. Az Azure-előfizetéshez többféleképpen is csatlakozhat.
Fejlesztői proxy futtatása
Az Azure-előfizetéshez való csatlakozás után indítsa el a Dev Proxyt. Ha a Dev Proxyt ugyanabból a mappából indítja el, ahol a devproxyrc.json fájl található, az automatikusan betölti a konfigurációt. Ellenkező esetben az --config-file kapcsolóval adja meg a konfigurációs fájl elérési útját.
A Dev Proxy indításakor ellenőrzi, hogy tud-e csatlakozni az Azure-előfizetéshez. Ha a kapcsolat sikeres, a következőhöz hasonló üzenet jelenik meg:
info Plugin ApiCenterOnboardingPlugin connecting to Azure...
info Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Nyomja le az r billentyűt az API-kérések alkalmazásból való rögzítéséhez.
Az alkalmazás használata
A szokásos módon használja az alkalmazást. A Dev Proxy elfogja az API-kéréseket, és a memóriában tárolja az róluk szóló információkat. A fejlesztői proxy futtatásának parancssorában meg kell jelennie az alkalmazás által küldött API-kérésekkel kapcsolatos információknak.
info Plugin ApiCenterOnboardingPlugin connecting to Azure...
info Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
◉ Recording...
req ╭ GET https://jsonplaceholder.typicode.com/posts
api ╰ Passed through
req ╭ DELETE https://jsonplaceholder.typicode.com/posts/1
api ╰ Passed through
Árnyék API-k ellenőrzése
Állítsa le a felvételt az s billentyű lenyomásával. A Dev Proxy csatlakozik az API Center-példányhoz, és összehasonlítja a kérésekkel kapcsolatos információkat az API Center információival.
info Plugin ApiCenterOnboardingPlugin connecting to Azure...
info Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
◉ Recording...
req ╭ GET https://jsonplaceholder.typicode.com/posts
api ╰ Passed through
req ╭ DELETE https://jsonplaceholder.typicode.com/posts/1
api ╰ Passed through
○ Stopped recording
info Checking if recorded API requests belong to APIs in API Center...
info Loading APIs from API Center...
info Loading API definitions from API Center...
Amikor a Dev Proxy befejezi az elemzést, létrehoz egy jelentést egy, a következő tartalommal ellátott ApiCenterOnboardingPlugin_PlainTextReporter.txt fájlban:
New APIs that aren't registered in Azure API Center:
https://jsonplaceholder.typicode.com:
DELETE https://jsonplaceholder.typicode.com/posts/1
APIs that are already registered in Azure API Center:
GET https://jsonplaceholder.typicode.com/posts
Árnyék API-k automatikus integrálása
A ApiCenterOnboardingPlugin rendszer nem csak észleli az árnyék API-kat, hanem automatikusan előkészíti őket az API Centerbe. Az árnyék API-k automatikus előkészítéséhez frissítse a Dev Proxy konfigurációs fájljában a createApicEntryForNewApis elemet true elemre.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterOnboardingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "apiCenterOnboardingPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterOnboardingPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default",
"createApicEntryForNewApis": true
}
}
Ha a Dev Proxyt a beállított beállítással createApicEntryForNewApistruefuttatja, az automatikusan új API-bejegyzéseket hoz létre az Azure API Centerben az általa észlelt árnyék API-khoz.
Árnyék-API-k automatikus bevezetése az OpenAPI-specifikációval
Ha úgy dönt, hogy automatikusan előkészíti az árnyék API-kat az API Centerbe, a Dev Proxy létrehozhatja az API OpenAPI-specifikációját. Az API-k OpenAPI-specifikációkkal való előkészítése felgyorsítja a hiányzó végpontok előkészítését, és megadja a szükséges információkat az API-ról. Amikor az észleli, hogy a ApiCenterOnboardingPlugin Dev Proxy létrehozott egy új OpenAPI-specifikációt, társítja azt az API Center megfelelő beépített API-jával.
Ha automatikusan szeretne OpenAPI-specifikációkat létrehozni az előkészített API-khoz, frissítse a Dev Proxy konfigurációját, hogy tartalmazza a OpenApiSpecGeneratorPlugin.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "OpenApiSpecGeneratorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
},
{
"name": "ApiCenterOnboardingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "apiCenterOnboardingPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterOnboardingPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default",
"createApicEntryForNewApis": true
}
}
Fontos
A Dev Proxy a beépülő modulokat a konfigurációban regisztrált sorrendben hajtja végre. Regisztrálnia kell az OpenApiSpecGeneratorPlugin először, hogy OpenAPI-specifikációkat hozhasson létre, mielőtt az ApiCenterOnboardingPlugin új API-kat bevezetne.
Ha dev proxyt futtat ezzel a konfigurációval, automatikusan új API-bejegyzéseket hoz létre az Azure API Centerben az általa észlelt árnyék API-khoz. Minden új API esetében a Dev Proxy létrehoz egy OpenAPI-specifikációt, és társítja az API Center megfelelő beépített API-jával.
info Plugin ApiCenterOnboardingPlugin connecting to Azure...
info Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
◉ Recording...
req ╭ GET https://jsonplaceholder.typicode.com/posts
api ╰ Passed through
req ╭ DELETE https://jsonplaceholder.typicode.com/posts/1
api ╰ Passed through
○ Stopped recording
info Creating OpenAPI spec from recorded requests...
info Created OpenAPI spec file jsonplaceholder.typicode.com-20240614104931.json
info Checking if recorded API requests belong to APIs in API Center...
info Loading APIs from API Center...
info Loading API definitions from API Center...
info New APIs that aren't registered in Azure API Center:
https://jsonplaceholder.typicode.com:
DELETE https://jsonplaceholder.typicode.com/posts/1
info Creating new API entries in API Center...
info Creating API new-jsonplaceholder-typicode-com-1718354977 for https://jsonplaceholder.typicode.com...
info DONE
Összegzés
ApiCenterOnboardingPluginA használatával ellenőrizheti, hogy az alkalmazás árnyék API-kat használ-e. A beépülő modul elemzi az alkalmazás API-kéréseit, és jelentéseket készít az Azure API Centerben nem regisztrált API-kérésekről. A beépülő modul lehetővé teszi, hogy könnyedén integrálja a hiányzó API-kat az API központba. A beépülő modul és a ApiCenterOnboardingPluginOpenApiSpecGeneratorPluginbővítmény kombinálásával automatikusan létrehozhat OpenAPI-specifikációkat az újonnan létrehozott API-khoz. Ezt az ellenőrzést manuálisan is futtathatja, vagy integrálhatja a CI-/CD-folyamattal, hogy az alkalmazás regisztrált API-kat használjon, mielőtt éles környezetbe bocsátanák.