Comprobación de si mi aplicación usa API de nivel de producción
Al compilar la aplicación, es posible que esté usando api que todavía están en versión preliminar. A menudo usa API en versión preliminar cuando se integra con nuevas características que se compilan junto con la aplicación. Antes de publicar la aplicación en producción, debe asegurarse de que usa las API de nivel de producción. Cuando se usan API estables, que son compatibles y cubiertas por acuerdos de nivel de servicio (SLA), la aplicación es más sólida.
Para comprobar si la aplicación usa API de nivel de producción, puede usar el ApiCenterProductionVersionPlugin
complemento. Este complemento compara la información sobre las solicitudes de API de la aplicación con información del Centro de API de Azure e informa sobre las solicitudes de API que no sean de producción. También recomienda la versión de producción de las API que usa.
Antes de comenzar
Para detectar solicitudes de API que no son de producción, debe tener una instancia del Centro de API de Azure con información sobre las API que usa en su organización.
Creación de una instancia del Centro de API de Azure
Antes de empezar, cree una instancia del Centro de API de Azure y registre las API que use en su organización. Para cada API, defina las versiones que use y especifique su fase de ciclo de vida.
ApiCenterProductionVersionPlugin
Usa esta información para comprobar si las API, que la aplicación usa, pertenecen a las API de producción o no producción.
Copia de la información del Centro de API
En la página Información general de la instancia del Centro de API de Azure, copie el nombre de la instancia del Centro de API, el nombre del grupo de recursos y el identificador de suscripción. Necesita esta información para configurar ApiCenterProductionVersionPlugin
para que pueda conectarse a la instancia del Centro de API de Azure.
Configuración de Dev Proxy
Para comprobar si la aplicación usa API de nivel de producción, debe habilitar ApiCenterProductionVersionPlugin
en el archivo de configuración del proxy de desarrollo. Para crear un informe de las API que usa la aplicación, agregue un informador.
Habilitación del ApiCenterProductionVersionPlugin
En el archivo devproxyrc.json
, agregue la siguiente configuración:
{
"$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"
}
}
En las propiedades subscriptionId
, resourceGroupName
y serviceName
, proporcione la información sobre la instancia del Centro de API de Azure.
En la propiedad urlsToWatch
, especifique las direcciones URL que usa la aplicación.
Sugerencia
Use la extensión de Visual Studio Code del kit de herramientas de Dev Proxy para administrar fácilmente la configuración de Dev Proxy.
Adición de un informador
El ApiCenterProductionVersionPlugin
genera un informe de las API que usa la aplicación. Para ver este informe, agregue un informador al archivo de configuración de Dev Proxy. Dev Proxy ofrece varios informadores. En este ejemplo, usará el informador de texto sin formato.
Actualice el archivo devproxyrc.json
con una referencia al informador de texto sin formato:
{
"$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"
}
}
Comprobación de si la aplicación usa API de nivel de producción
Para comprobar si la aplicación usa API de nivel de producción, debe conectarse a su suscripción de Azure, ejecutar proxy de desarrollo y permitir que intercepte las solicitudes de API de la aplicación. Después, el proxy de desarrollo compara la información acerca de las solicitudes de API con la información del Centro de API de Azure e informa sobre las API que no sean de producción.
Conexión a su suscripción de Azure
El proxy de desarrollo usa información del Centro de API de Azure para determinar si las API que usa la aplicación son de nivel de producción. Para obtener esta información, necesita una conexión a la suscripción de Azure. Puede conectarse a la suscripción de Azure de varias maneras.
Ejecución de Dev Proxy
Después de conectarse a la suscripción de Azure, inicie Dev Proxy. Si inicia Dev Proxy desde la misma carpeta donde se encuentra el archivo devproxyrc.json
, se carga automáticamente la configuración. De lo contrario, especifique la ruta de acceso al archivo de configuración mediante la opción --config-file
.
Cuando se inicia Dev Proxy, comprueba que puede conectarse a la suscripción de Azure. Cuando la conexión se realiza correctamente, verá un mensaje similar al siguiente:
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
Presione r para iniciar la grabación de solicitudes de API desde la aplicación.
Uso de la aplicación
Use la aplicación como lo haría normalmente. Dev Proxy intercepta las solicitudes de API y almacena información sobre ellas en la memoria. En la línea de comandos donde se ejecuta Dev Proxy, debería ver información sobre las solicitudes de API que realiza la aplicación.
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
Comprobación de las versiones de API
Detenga la grabación presionando s. Dev Proxy se conecta a la instancia del Centro de API y compara la información sobre las solicitudes con la información del Centro de 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
Cuando Dev Proxy finaliza su análisis, crea un informe en un archivo denominado ApiCenterProductionVersionPlugin_PlainTextReporter.txt
con el siguiente contenido:
Non-production APIs:
GET https://jsonplaceholder.typicode.com/users?api-version=beta
Production APIs:
GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
Resumen
ApiCenterProductionVersionPlugin
Con , puede comprobar si la aplicación usa API de nivel de producción. El complemento compara la información acerca de las solicitudes de API de la aplicación con información del Centro de API de Azure e informa sobre las solicitudes de API que no sean de producción. También recomienda la versión de producción de las API que usa. Comprobar qué API usa la aplicación le ayuda a asegurarse de que la aplicación usa API estables, que son compatibles y cubiertas por acuerdos de nivel de servicio, lo que hace que la aplicación sea más sólida. Puede ejecutar esta comprobación manualmente o integrarla con la canalización de CI/CD para asegurarse de que la aplicación usa API de nivel de producción antes de publicarla en producción.