Como verificar se meu aplicativo está usando APIs de nível de produção
Ao criar seu aplicativo, você pode estar usando APIs que ainda estão em visualização. Você costuma usar APIs de visualização quando está integrando com novos recursos que estão sendo criados junto com seu aplicativo. Antes de liberar seu aplicativo para produção, você deve garantir que está usando APIs de nível de produção. Quando você usa APIs estáveis, que são suportadas e cobertas por SLAs (Contratos de Nível de Serviço), seu aplicativo é mais robusto.
Para verificar se seu aplicativo está usando APIs de nível de produção, você pode usar o ApiCenterProductionVersionPlugin
plug-in. Este plug-in compara as informações sobre solicitações de API do seu aplicativo com informações da Central de APIs do Azure e relatórios sobre quaisquer solicitações de API que não sejam de produção. Ele também recomenda a versão de produção das APIs que você está usando.
Antes de começar
Para detetar solicitações de API que não sejam de 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 de ciclo de vida.
O ApiCenterProductionVersionPlugin
usa 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
Na página Visão geral da instância do Centro de API do Azure, copie o nome da instância da Central de APIs, o nome do grupo de recursos e a ID da assinatura. Você precisa dessas informações para configurar o ApiCenterProductionVersionPlugin
para que ele possa se conectar à sua instância do Centro de API do Azure.
Configurar proxy de desenvolvimento
Para verificar se seu aplicativo está usando APIs de nível de produção, você precisa habilitar o ApiCenterProductionVersionPlugin
no arquivo de configuração do Proxy de Desenvolvimento. Para criar um relatório de APIs que seu aplicativo usa, adicione um repórter.
Habilite o botão ApiCenterProductionVersionPlugin
devproxyrc.json
No arquivo, 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"
}
}
No , resourceGroupName
e serviceName
propriedades, forneça as informações sobre sua instância do subscriptionId
Centro de API do Azure.
urlsToWatch
Na propriedade, especifique as URLs que seu aplicativo usa.
Gorjeta
Use a extensão Dev Proxy Toolkit Visual Studio Code para gerenciar facilmente a configuração do Dev Proxy.
Adicionar um repórter
O ApiCenterProductionVersionPlugin
produz um relatório de APIs que seu aplicativo está usando. Para exibir esse relatório, adicione um repórter ao arquivo de configuração do Proxy de Desenvolvimento. Dev Proxy oferece vários repórteres. Neste exemplo, você usa o repórter de texto simples.
Atualize seu devproxyrc.json
arquivo com uma referência ao repórter de texto simples:
{
"$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 seu aplicativo está usando APIs de nível de produção
Para verificar se seu aplicativo está usando APIs de nível de produção, você precisa se conectar à sua assinatura do Azure, executar o Proxy de Desenvolvimento e permitir que ele intercete 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 da Central de APIs do Azure e relata quaisquer APIs que não sejam de produção.
Ligar à sua subscrição 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 de nível de produção. Para obter essas informações, ele precisa de uma conexão com sua assinatura do Azure. Você pode se conectar à sua assinatura do Azure de várias maneiras.
Executar proxy de desenvolvimento
Depois de se conectar à sua assinatura do Azure, inicie o Dev Proxy. Se você iniciar o Dev Proxy da mesma pasta onde o devproxyrc.json
arquivo está localizado, ele carregará automaticamente a configuração. Caso contrário, especifique o caminho para o arquivo de configuração usando a --config-file
opção.
Quando o Proxy de Desenvolvimento é iniciado, ele verifica se pode se conectar à sua assinatura do Azure. Quando a conexão é bem-sucedida, você vê 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 começar a gravar solicitações de API do seu aplicativo.
Utilizar a aplicação
Use seu aplicativo como faria normalmente. O Dev Proxy interceta as solicitações de API e armazena informações sobre elas na memória. Na linha de comando em que o Proxy de Desenvolvimento é executado, você verá informações sobre as solicitações de API feitas pelo seu aplicativo.
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
Verifique as versões da API
Pare a gravação pressionando s. O Proxy de Desenvolvimento se conecta à instância do Centro de API e compara as informações sobre 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 o Dev Proxy conclui sua análise, ele cria um relatório em um arquivo nomeado 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 plug-in compara as informações sobre solicitações de API do seu aplicativo com informações da Central de APIs do Azure e relatórios sobre quaisquer solicitações de API que não sejam de produção. Ele também 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 são suportadas e cobertas por SLAs, tornando seu aplicativo mais robusto. Você pode executar essa verificação manualmente ou integrar com seu pipeline de CI/CD para garantir que seu aplicativo esteja usando APIs de nível de produção antes de liberá-lo para produção.