Sdílet prostřednictvím


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.

Snímek obrazovky konzoly zobrazující kontrolu vývojového proxy serveru, jestli zaznamenané požadavky rozhraní API odpovídají rozhraním API produkční verze zaregistrovaným ve službě Azure API Center

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.

Snímek obrazovky azure API Center zobrazující rozhraní API s různými verzemi

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.

Snímek obrazovky se stránkou přehledu služby Azure API Center se zvýrazněnými několika vlastnostmi

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, resourceGroupNamea 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 ApiCenterProductionVersionPluginmůž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í.

Více informací