Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Durante la compilazione dell'app, è possibile usare le API ancora in anteprima. Spesso si usano le API di anteprima quando si esegue l'integrazione con nuove funzionalità compilate insieme all'app. Prima di rilasciare l'app nell'ambiente di produzione, è necessario assicurarsi di usare le API a livello di produzione. Quando si usano API stabili, supportate e coperte dai contratti di servizio, l'app è più solida.
Per verificare se l'app usa API a livello di produzione, è possibile usare il ApiCenterProductionVersionPlugin plug-in. Questo plug-in confronta le informazioni sulle richieste API dall'app con le informazioni del Centro API di Azure e segnala eventuali richieste API non di produzione. Consiglia anche la versione di produzione delle API in uso.
Prima di iniziare
Per rilevare le richieste API non di produzione, è necessario disporre di un'istanza del Centro API di Azure con informazioni sulle API usate nell'organizzazione.
Creare un'istanza del Centro API di Azure
Prima di iniziare, creare un'istanza del Centro API di Azure e registrare le API usate nell'organizzazione. Per ogni API, definire le versioni usate e specificarne la fase del ciclo di vita.
ApiCenterProductionVersionPlugin Usa queste informazioni per verificare se le API, che l'app usa, appartengono alle API di produzione o non di produzione.
Copiare le informazioni del Centro API
Dalla pagina Panoramica dell'istanza del Centro API di Azure copiare il nome dell'istanza del Centro API, il nome del gruppo di risorse e l' ID sottoscrizione. Queste informazioni sono necessarie per configurare il ApiCenterProductionVersionPlugin, affinché possa connettersi all'istanza del Centro API di Azure.
Configurare il proxy di sviluppo
Per verificare se l'app usa le API a livello di produzione, è necessario abilitare ApiCenterProductionVersionPlugin nel file di configurazione del proxy di sviluppo. Aggiungere un reporter per creare un report delle API usate dall'app.
Abilitare ApiCenterProductionVersionPlugin
Nel file devproxyrc.json aggiungere la configurazione seguente:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterProductionVersionPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "apiCenterProductionVersionPlugin"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterProductionVersionPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default"
}
}
Nelle proprietà subscriptionId, resourceGroupName e serviceName specificare le informazioni sull'istanza del Centro API di Azure.
Nella proprietà urlsToWatch specificare gli URL usati dall'app.
Suggerimento
Usare l’estensione Dev Proxy Toolkit di Visual Studio Code per gestire facilmente la configurazione del Dev Proxy.
Aggiungere un reporter
ApiCenterProductionVersionPlugin genera un report delle API usate dall'app. Per visualizzare questo report, aggiungere un reporter al file di configurazione del proxy di sviluppo. Dev Proxy offre diversi reporter. In questo esempio viene usato il reporter di testo normale.
Aggiorna il file devproxyrc.json con un riferimento al reporter di testo normale:
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
"plugins": [
{
"name": "ApiCenterProductionVersionPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "apiCenterProductionVersionPlugin"
},
{
"name": "PlainTextReporter",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
],
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
"apiCenterProductionVersionPlugin": {
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"resourceGroupName": "demo",
"serviceName": "contoso-api-center",
"workspaceName": "default"
}
}
Controllare se l'app usa API a livello di produzione
Per verificare se l'app usa API a livello di produzione, è necessario connettersi alla sottoscrizione di Azure, eseguire il proxy di sviluppo e consentire l'intercettazione delle richieste API dall'app. Il proxy di produzione confronta quindi le informazioni sulle richieste API con le informazioni del Centro API di Azure e segnala eventuali API non di produzione.
Connettersi alla sottoscrizione di Azure
Dev Proxy utilizza le informazioni del Centro API di Azure per determinare se le API utilizzate dall'app sono a livello di produzione. Per ottenere queste informazioni è necessaria una connessione alla sottoscrizione di Azure. È possibile connettersi alla sottoscrizione di Azure in diversi modi.
Esegui il proxy di sviluppo
Una volta connessi alla sottoscrizione di Azure, avviate il proxy di sviluppo. Se si avvia il proxy di sviluppo dalla stessa cartella in cui si trova il file devproxyrc.json, viene automaticamente caricata la configurazione. In alternativa, specificare il percorso del file di configurazione usando l'opzione --config-file.
Quando il proxy di sviluppo si avvia, verifica che possa connettersi alla tua sottoscrizione di Azure. Quando la connessione ha esito positivo, viene visualizzato un messaggio simile al seguente:
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
Premere r per avviare la registrazione delle richieste API dall'app.
Usare l'app
Usare l’app normalmente. Il proxy di sviluppo intercetta le richieste API e archivia in memoria le relative informazioni. Nella riga di comando in cui viene eseguito Il proxy di sviluppo vengono visualizzate le informazioni relative alle richieste API eseguite dall'app.
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
Controllare le versioni dell'API
Arrestare la registrazione premendo s. Il proxy di sviluppo si connette all'istanza del Centro API e confronta le informazioni relative alle richieste con le informazioni del Centro 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
Al termine dell'analisi, il proxy di sviluppo crea un report in un file denominato ApiCenterProductionVersionPlugin_PlainTextReporter.txt con il contenuto seguente:
Non-production APIs:
GET https://jsonplaceholder.typicode.com/users?api-version=beta
Production APIs:
GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
Riepilogo
Usando il ApiCenterProductionVersionPlugin, è possibile verificare se l'app utilizza API a livello di produzione. Il plug-in confronta le informazioni sulle richieste API dall'app con le informazioni del Centro API di Azure e segnala eventuali richieste API non di produzione. Consiglia anche la versione di produzione delle API in uso. La verifica delle API in uso per l'app consente di assicurarsi che l'app usi API stabili, supportate e coperte dai contratti di servizio, rendendo l'app più solida. È possibile eseguire questo controllo manualmente o integrarlo con la pipeline CI/CD per assicurarsi che l'app usi le API a livello di produzione prima di rilasciarla nell'ambiente di produzione.