Partilhar via


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.

Captura de ecrã de uma consola a mostrar o Proxy de Desenvolvimento a verificar se os pedidos de API gravados correspondem às APIs da versão de produção registadas no Centro de API do Azure.

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.

Captura de ecrã do Centro de API do Azure a mostrar uma API com versões diferentes

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.

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

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 , resourceGroupNamee serviceName propriedades, forneça as informações sobre sua instância do subscriptionIdCentro 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.

Mais informações