Compartilhar via


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.

Captura de tela de um console mostrando o Proxy de Desenvolvimento verificando se as solicitações de API gravadas correspondem às versões de APIs de produção registradas no Centro de API do Azure.

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.

Captura de tela do Centro de API do Azure mostrando uma API com versões diferentes

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.

Captura de tela da página de visão geral do Centro de API do Azure com várias propriedades realçadas

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.

Mais informações