Come verificare se l'app usa API a livello di produzione
Quando si compila l'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ù affidabile.
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.
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.
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.
Nella pagina Panoramica dell'istanza del Centro API di Azure copiare il nome dell'istanza di Centro API, il nome del gruppo di risorse e l'ID sottoscrizione. Queste informazioni sono necessarie per configurare in modo che possa connettersi all'istanza ApiCenterProductionVersionPlugin
del Centro API di Azure.
Per verificare se l'app usa API a livello di produzione, è necessario abilitare ApiCenterProductionVersionPlugin
nel file di configurazione del proxy di sviluppo. Per creare un report delle API usate dall'app, aggiungere un reporter.
devproxyrc.json
Nel file aggiungere la configurazione seguente:
{
"$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"
}
}
subscriptionId
Nelle proprietà , resourceGroupName
e serviceName
specificare le informazioni sull'istanza del Centro API di Azure.
urlsToWatch
Nella proprietà specificare gli URL usati dall'app.
Suggerimento
Usare l'estensione Dev Proxy Toolkit di Visual Studio Code per gestire facilmente la configurazione del proxy di sviluppo.
Genera ApiCenterProductionVersionPlugin
un report delle API che l'app usa. Per visualizzare questo report, aggiungere un reporter al file di configurazione del proxy di sviluppo. Dev Proxy offre diversi reporter. In questo esempio si usa il reporter di testo normale.
Aggiornare il devproxyrc.json
file con un riferimento al reporter in testo normale:
{
"$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"
}
}
Per verificare se l'app usa API a livello di produzione, è necessario connettersi alla sottoscrizione di Azure, eseguire Dev Proxy e consentire l'intercettazione delle richieste API dall'app. Dev Proxy confronta quindi le informazioni sulle richieste API con le informazioni del Centro API di Azure e segnala eventuali API non di produzione.
Dev Proxy usa le informazioni del Centro API di Azure per determinare se le API usate 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.
Dopo la connessione alla sottoscrizione di Azure, avviare Dev Proxy. Se si avvia Dev Proxy dalla stessa cartella in cui si trova il devproxyrc.json
file, carica automaticamente la configurazione. In caso contrario, specificare il percorso del file di configurazione usando l'opzione --config-file
.
All'avvio di Dev Proxy verifica che possa connettersi alla 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.
Usa la tua app come normalmente fai. Dev Proxy intercetta le richieste API e li archivia in memoria. Nella riga di comando in cui viene eseguito Il proxy di sviluppo dovrebbero essere visualizzate informazioni sulle 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
Arrestare la registrazione premendo s. Dev Proxy si connette all'istanza di Centro API e confronta le informazioni sulle 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, Dev Proxy 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
ApiCenterProductionVersionPlugin
Usando , è possibile verificare se l'app usa 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ù affidabile. È 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.
Feedback su Dev Proxy
Dev Proxy è un progetto di open source. Selezionare un collegamento per fornire feedback: