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.
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.
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.
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
, resourceGroupName
en 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 ApiCenterProductionVersionPlugin
api 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.