Como verificar se meu aplicativo está usando APIs de nível de produção
Ao compilar seu aplicativo, você pode estar usando APIs que ainda estão em versão prévia. Você costuma usar APIs em versão prévia quando está integrando novos recursos que estão sendo compilados junto com seu aplicativo. Antes de lançar seu aplicativo para a produção, você deve se certificar de que está usando APIs no nível de produção. Quando você usa APIs estáveis, que têm suporte e são cobertas por Contratos de Nível de Serviço (SLAs), seu aplicativo fica mais consistente.
Para verificar se o app está usando APIs de nível de produção, use o ApiCenterProductionVersionPlugin
plug-in. Esse plug-in compara as informações sobre solicitações de API do seu aplicativo com as informações do Centro de API do Azure e relata todas as solicitações de API de não produção. Além disso, recomenda a versão de produção das APIs que você está usando.
Antes de começar
Para detectar solicitações de API de não produção, você precisa ter uma instância do Centro de API do Azure com informações sobre as APIs que você usa em sua organização.
Criar uma instância do Centro de API do Azure
Antes de começar, crie uma instância do Centro de API do Azure e registre as APIs que você usa em sua organização. Para cada API, defina as versões que você usa e especifique seu estágio no ciclo de vida.
O usa ApiCenterProductionVersionPlugin
essas informações para verificar se as APIs que seu aplicativo está usando pertencem a APIs de produção ou não produção.
Copiar informações do Centro de API
A partir da página Visão Geral da instância do Centro de API do Azure, copie o nome da instância do Centro de API, o nome do grupo de recursos e a ID da assinatura. Você precisa dessas informações para configurar o ApiCenterProductionVersionPlugin
de forma que possa se conectar à sua instância do Centro de API do Azure.
Configurar o Proxy de Desenvolvimento
Para verificar se o seu aplicativo está usando APIs no nível de produção, você precisa habilitar o ApiCenterProductionVersionPlugin
no arquivo de configuração do Proxy de Desenvolvimento. Para criar um relatório das APIs que seu aplicativo usa, adicione um gerador de relatórios.
Habilitar o ApiCenterProductionVersionPlugin
No arquivo devproxyrc.json
, adicione a seguinte configuração:
{
"$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"
}
}
Nas propriedades subscriptionId
, resourceGroupName
e serviceName
, forneça as informações sobre sua instância do Centro de API do Azure.
Na propriedade urlsToWatch
, especifique as URLs que o seu aplicativo usa.
Dica
Use a extensão do Visual Studio Code do Kit de Ferramentas do Dev Proxy para gerenciar a configuração do Dev Proxy com facilidade.
Adicionar um gerador de relatórios
O ApiCenterProductionVersionPlugin
produz um relatório de APIs que o seu aplicativo está usando. Para ver esse relatório, adicione um gerador de relatórios ao arquivo de configuração do Dev Proxy. O Dev Proxy oferece vários geradores de relatórios. Nesse exemplo, você usa o gerador de relatórios em texto sem formatação.
Atualize seu arquivo devproxyrc.json
com uma referência ao gerador de relatórios em texto sem formatação:
{
"$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"
}
}
Verifique se o seu aplicativo está usando APIs no nível de produção
Para verificar se o seu aplicativo está usando APIs no nível de produção, você precisa se conectar à sua assinatura do Azure, executar o Proxy de Desenvolvimento e permitir que intercepte solicitações de API do seu aplicativo. Em seguida, o Proxy de Desenvolvimento compara as informações sobre as solicitações de API com as informações do Centro de API do Azure e de relatórios sobre quaisquer APIs que não sejam de produção.
Conecte-se à sua assinatura do Azure
O Proxy de Desenvolvimento usa informações do Centro de API do Azure para determinar se as APIs que seu aplicativo está usando são em nível de produção. Para obter essas informações, o recurso precisa de uma conexão com sua assinatura do Azure. Você pode se conectar à sua assinatura do Azure de várias maneiras.
Executar o Dev Proxy
Após se conectar à sua assinatura do Azure, inicie o Dev Proxy. Se você iniciar o Dev Proxy na mesma pasta em que seu arquivo devproxyrc.json
está localizado, a configuração será carregada automaticamente. Caso contrário, especifique o caminho para o arquivo de configuração usando a opção --config-file
.
Quando é iniciado, o Dev Proxy verifica se consegue se conectar à sua assinatura do Azure. Se a conexão for bem-sucedida, você verá uma mensagem semelhante a:
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
Pressione r para iniciar o registro das solicitações de API a partir do seu aplicativo.
Usar seu aplicativo
Use seu aplicativo como você faria normalmente. O Dev Proxy intercepta as solicitações de API e armazena as informações sobre elas na memória. Na linha de comando em que o Proxy de Desenvolvimento é executado, você deverá ver as informações sobre as solicitações de API que seu aplicativo faz.
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
Verificar as versões da API
Pare a gravação pressionando s. O Dev Proxy se conecta à instância do Centro de API e compara as informações sobre as solicitações com as informações do 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
Quando termina sua análise, o Proxy de Desenvolvimento cria um relatório em um arquivo chamado ApiCenterProductionVersionPlugin_PlainTextReporter.txt
com o seguinte conteúdo:
Non-production APIs:
GET https://jsonplaceholder.typicode.com/users?api-version=beta
Production APIs:
GET https://jsonplaceholder.typicode.com/posts?api-version=v1.0
Resumo
Usando o ApiCenterProductionVersionPlugin
, você pode verificar se seu aplicativo está usando APIs de nível de produção. O plugin compara as informações sobre solicitações de API do seu aplicativo às informações do Centro de API do Azure e de relatórios sobre solicitações de APIs que não sejam de produção. Além disso, recomenda a versão de produção das APIs que você está usando. Verificar quais APIs seu aplicativo está usando ajuda você a garantir que seu aplicativo esteja usando APIs estáveis, que têm suporte e são cobertas por SLAs, o que torna seu aplicativo mais consistente. Você pode executar essa verificação manualmente ou integrá-la ao pipeline de CI/CD para se certificar de que seu aplicativo esteja usando APIs no nível de produção antes de liberá-lo para a produção.