Jak zkontrolovat, jestli moje aplikace používá rozhraní API na úrovni produkčního prostředí
Při sestavování aplikace možná používáte rozhraní API, která jsou stále ve verzi Preview. Při integraci s novými funkcemi, které se společně s vaší aplikací vytvářejí, často používáte rozhraní API ve verzi Preview. Před uvolněním aplikace do produkčního prostředí byste měli zajistit, že používáte rozhraní API na úrovni produkčního prostředí. Pokud používáte stabilní rozhraní API, která jsou podporovaná a pokrytá smlouvami o úrovni služeb (SLA), je vaše aplikace robustnější.
Pokud chcete zkontrolovat, jestli vaše aplikace používá rozhraní API na úrovni produkčního prostředí, můžete použít modul ApiCenterProductionVersionPlugin
plug-in. Tento modul plug-in porovnává informace o požadavcích rozhraní API z vaší aplikace s informacemi z Azure API Center a hlásí všechny neprodukční požadavky rozhraní API. Také doporučuje produkční verzi rozhraní API, která používáte.
Než začnete
Pokud chcete detekovat neprodukční požadavky rozhraní API, musíte mít instanci Azure API Center s informacemi o rozhraních API, která používáte ve vaší organizaci.
Vytvoření instance Azure API Center
Než začnete, vytvořte instanci azure API Center a zaregistrujte rozhraní API, která používáte ve vaší organizaci. Pro každé rozhraní API definujte používané verze a určete jejich fázi životního cyklu.
Tyto ApiCenterProductionVersionPlugin
informace používají ke kontrole, jestli rozhraní API, která vaše aplikace používá, patří do produkčního nebo neprodukčního rozhraní API.
Kopírování informací o centru rozhraní API
Na stránce Přehled instance služby Azure API Center zkopírujte název instance služby API Center, název skupiny prostředků a ID předplatného. Tyto informace potřebujete ke konfiguraci ApiCenterProductionVersionPlugin
, aby se mohly připojit k vaší instanci služby Azure API Center.
Konfigurace dev proxy serveru
Pokud chcete zkontrolovat, jestli vaše aplikace používá rozhraní API na úrovni produkčního prostředí, musíte povolit ApiCenterProductionVersionPlugin
konfigurační soubor dev proxy serveru. Pokud chcete vytvořit sestavu rozhraní API, která vaše aplikace používá, přidejte reportér.
Povolení ApiCenterProductionVersionPlugin
devproxyrc.json
Do souboru přidejte následující konfiguraci:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterProductionVersionPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterProductionVersionPlugin"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterProductionVersionPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default"
}
}
V objektu subscriptionId
, resourceGroupName
a serviceName
vlastnosti zadejte informace o vaší instanci služby Azure API Center.
urlsToWatch
Ve vlastnosti zadejte adresy URL, které vaše aplikace používá.
Tip
Pomocí rozšíření Dev Proxy Toolkit Visual Studio Code můžete snadno spravovat konfiguraci dev proxy serveru.
Přidání reportéru
Vytvoří ApiCenterProductionVersionPlugin
sestavu rozhraní API, která vaše aplikace používá. Pokud chcete tuto sestavu zobrazit, přidejte do konfiguračního souboru dev proxy reporter. Dev Proxy nabízí několik zpravodajů. V tomto příkladu použijete reportér prostého textu.
Aktualizujte devproxyrc.json
soubor odkazem na reportér prostého textu:
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterProductionVersionPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "apiCenterProductionVersionPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterProductionVersionPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default"
}
}
Kontrola, jestli vaše aplikace používá rozhraní API na úrovni produkčního prostředí
Pokud chcete zkontrolovat, jestli vaše aplikace používá rozhraní API na úrovni produkčního prostředí, musíte se připojit k předplatnému Azure, spustit dev proxy server a nechat ji zachycovat požadavky rozhraní API z vaší aplikace. Dev Proxy pak porovná informace o požadavcích rozhraní API s informacemi z Azure API Center a hlásí všechny neprodukční rozhraní API.
Připojení k předplatnému Azure
Dev Proxy používá informace z Azure API Center k určení, jestli rozhraní API, která vaše aplikace používá, jsou na úrovni produkčního prostředí. K získání těchto informací potřebuje připojení k vašemu předplatnému Azure. K předplatnému Azure se můžete připojit několika způsoby.
Spuštění dev proxy serveru
Po připojení k předplatnému Azure spusťte Dev Proxy. Pokud spustíte Dev Proxy ze stejné složky, ve které devproxyrc.json
se soubor nachází, automaticky načte konfiguraci. V opačném případě zadejte cestu ke konfiguračnímu souboru pomocí --config-file
této možnosti.
Když se spustí dev proxy server, zkontroluje, že se může připojit k vašemu předplatnému Azure. Po úspěšném připojení se zobrazí zpráva podobná této:
info Plugin ApiCenterProductionVersionPlugin 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
Stisknutím klávesy R spusťte nahrávání požadavků rozhraní API z vaší aplikace.
Použití aplikace
Používejte aplikaci stejně, jako byste to normálně dělali. Dev Proxy zachytí požadavky rozhraní API a uloží informace o nich do paměti. Na příkazovém řádku, na kterém běží Dev Proxy, byste měli vidět informace o požadavcích rozhraní API, které vaše aplikace provádí.
info Plugin ApiCenterProductionVersionPlugin 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-version=v1.0
api ╰ Passed through
req ╭ GET https://jsonplaceholder.typicode.com/users?api-version=beta
api ╰ Passed through
Kontrola verzí rozhraní API
Zastavte záznam stisknutím klávesy s. Dev Proxy se připojí k instanci služby API Center a porovná informace o požadavcích s informacemi z centra API.
info Plugin ApiCenterProductionVersionPlugin 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-version=v1.0
api ╰ Passed through
req ╭ GET https://jsonplaceholder.typicode.com/users?api-version=beta
api ╰ Passed through
○ Stopped recording
info Checking if recorded API requests use production APIs as defined in API Center...
info Loading APIs from API Center...
info Analyzing recorded requests...
warn Request GET https://jsonplaceholder.typicode.com/users?api-version=beta uses API version beta which is defined as Preview. Upgrade to a production version of the API. Recommended versions: v1.0
info DONE
Po dokončení analýzy dev proxy vytvoří sestavu v souboru s názvem ApiCenterProductionVersionPlugin_PlainTextReporter.txt
s následujícím obsahem:
Non-production APIs:
GET https://jsonplaceholder.typicode.com/users?api-version=beta
Production APIs:
GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
Shrnutí
Pomocí této možnosti ApiCenterProductionVersionPlugin
můžete zkontrolovat, jestli vaše aplikace používá rozhraní API na úrovni produkčního prostředí. Modul plug-in porovnává informace o požadavcích rozhraní API z vaší aplikace s informacemi z Azure API Center a hlásí všechny neprodukční požadavky rozhraní API. Také doporučuje produkční verzi rozhraní API, která používáte. Ověření, jaká rozhraní API vaše aplikace používá, vám pomůže zajistit, aby vaše aplikace používala stabilní rozhraní API, která jsou podporovaná a pokrytá smlouvami SLA, což zvyšuje odolnost vaší aplikace. Tuto kontrolu můžete spustit ručně nebo integrovat s kanálem CI/CD, abyste měli jistotu, že vaše aplikace používá rozhraní API na úrovni produkčního prostředí, než ji uvolní do produkčního prostředí.