Delen via


Controleren of mijn app API's op productieniveau gebruikt

Bij het bouwen van uw app gebruikt u mogelijk API's die nog in preview zijn. U gebruikt vaak preview-API's wanneer u integreert met nieuwe functies die samen met uw app worden gebouwd. Voordat u uw app vrijgeeft voor productie, moet u ervoor zorgen dat u API's op productieniveau gebruikt. Wanneer u stabiele API's gebruikt, die worden ondersteund en gedekt door Service Level Agreements (SLA's), is uw app robuuster.

Als u wilt controleren of uw app API's op productieniveau gebruikt, kunt u de ApiCenterProductionVersionPlugin invoegtoepassing gebruiken. Deze invoegtoepassing vergelijkt de informatie over API-aanvragen van uw app met informatie uit Azure API Center en rapporten over niet-productie-API-aanvragen. Het raadt ook de productieversie aan van de API's die u gebruikt.

Schermopname van een console met Dev Proxy-controle of de opgenomen API-aanvragen overeenkomen met api's van productieversies die zijn geregistreerd in Azure API Center.

Voordat u begint

Als u niet-productie-API-aanvragen wilt detecteren, moet u een Azure API Center-exemplaar hebben met informatie over de API's die u in uw organisatie gebruikt.

Een Azure API Center-exemplaar maken

Voordat u begint, maakt u een Azure API Center-exemplaar en registreert u API's die u in uw organisatie gebruikt. Definieer voor elke API de versies die u gebruikt en geef de levenscyclusfase op.

Schermopname van Azure API Center met een API met verschillende versies

Deze ApiCenterProductionVersionPlugin informatie wordt gebruikt om te controleren of de API's, die uw app gebruikt, deel uitmaken van productie- of niet-productie-API's.

Informatie over API Center kopiëren

Kopieer op de overzichtspagina van het Azure API Center-exemplaar de naam van het API Center-exemplaar, de naam van de resourcegroep en de abonnements-id. U hebt deze informatie nodig om de ApiCenterProductionVersionPlugin configuratie zo te configureren dat deze verbinding kan maken met uw Azure API Center-exemplaar.

Schermopname van de overzichtspagina van Azure API Center met verschillende eigenschappen gemarkeerd

Dev-proxy configureren

Als u wilt controleren of uw app API's op productieniveau gebruikt, moet u het inschakelen in het configuratiebestand voor de ApiCenterProductionVersionPlugin dev-proxy. Als u een rapport wilt maken van API's die door uw app worden gebruikt, voegt u een reporter toe.

Schakel de ApiCenterProductionVersionPlugin

Voeg in het devproxyrc.json bestand de volgende configuratie toe:

{
  "$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"
  }
}

Geef in de subscriptionId, resourceGroupNameen serviceName eigenschappen de informatie op over uw Azure API Center-exemplaar.

Geef in de urlsToWatch eigenschap de URL's op die door uw app worden gebruikt.

Tip

Gebruik de Visual Studio Code-extensie Dev Proxy Toolkit om de Dev Proxy-configuratie eenvoudig te beheren.

Een reporter toevoegen

Het ApiCenterProductionVersionPlugin produceert een rapport van API's die door uw app worden gebruikt. Als u dit rapport wilt weergeven, voegt u een reporter toe aan uw Dev Proxy-configuratiebestand. Dev Proxy biedt verschillende reporters. In dit voorbeeld gebruikt u de reporter zonder opmaak.

Werk uw devproxyrc.json bestand bij met een verwijzing naar de reporter zonder opmaak:

{
  "$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"
  }
}

Controleer of uw app API's op productieniveau gebruikt

Als u wilt controleren of uw app API's op productieniveau gebruikt, moet u verbinding maken met uw Azure-abonnement, Dev Proxy uitvoeren en API-aanvragen van uw app laten onderscheppen. Dev Proxy vergelijkt vervolgens de informatie over de API-aanvragen met de informatie uit Azure API Center en rapporteert over eventuele niet-productie-API's.

Verbinding maken met uw Azure-abonnement

Dev Proxy gebruikt informatie uit Azure API Center om te bepalen of de API's die uw app gebruikt, productieniveau hebben. Om deze informatie op te halen, heeft deze een verbinding met uw Azure-abonnement nodig. U kunt op verschillende manieren verbinding maken met uw Azure-abonnement.

Dev-proxy uitvoeren

Nadat u verbinding hebt gemaakt met uw Azure-abonnement, start u Dev Proxy. Als u Dev Proxy start vanuit dezelfde map waarin het devproxyrc.json bestand zich bevindt, wordt de configuratie automatisch geladen. Geef anders het pad naar het configuratiebestand op met behulp van de --config-file optie.

Wanneer dev proxy wordt gestart, wordt gecontroleerd of deze verbinding kan maken met uw Azure-abonnement. Wanneer de verbinding is geslaagd, ziet u een bericht dat lijkt op:

 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

Druk op r om API-aanvragen van uw app op te nemen.

Uw app gebruiken

Gebruik uw app zoals u dat normaal zou doen. Dev Proxy onderschept de API-aanvragen en slaat informatie over deze aanvragen op in het geheugen. Op de opdrachtregel waar Dev Proxy wordt uitgevoerd, ziet u informatie over API-aanvragen die uw app maakt.

 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

API-versies controleren

Stop de opname door op s te drukken. Dev Proxy maakt verbinding met het API Center-exemplaar en vergelijkt de informatie over aanvragen met de informatie uit API Center.

 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

Wanneer de analyse van de Dev Proxy is voltooid, wordt er een rapport gemaakt in een bestand met de volgende ApiCenterProductionVersionPlugin_PlainTextReporter.txt inhoud:

Non-production APIs:

  GET https://jsonplaceholder.typicode.com/users?api-version=beta
  
Production APIs:

  GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0

Samenvatting

Met behulp van de ApiCenterProductionVersionPluginapi kunt u controleren of uw app API's op productieniveau gebruikt. De invoegtoepassing vergelijkt de informatie over API-aanvragen van uw app met informatie uit Azure API Center en rapporten over niet-productie-API-aanvragen. Het raadt ook de productieversie aan van de API's die u gebruikt. Door te controleren welke API's uw app gebruikt, kunt u ervoor zorgen dat uw app stabiele API's gebruikt, die worden ondersteund en gedekt door SLA's, waardoor uw app robuuster wordt. U kunt deze controle handmatig uitvoeren of integreren met uw CI/CD-pijplijn om ervoor te zorgen dat uw app API's op productieniveau gebruikt voordat u deze uitbrengt in productie.

Meer informatie