Compartilhar via


Práticas recomendadas para integração

Serviços do Azure DevOps

Ferramentas e integrações entre serviços melhoram a eficiência do Azure DevOps Services. Se você não tiver cuidado, as ferramentas automatizadas poderão sair do controle e executar uma alta taxa de solicitações. As solicitações podem fazer com que o Azure DevOps imponha limites de taxa em sua organização. Para ajudar a reduzir o risco de atingir os limites de taxa, siga estas práticas recomendadas ao usar as APIs REST para se integrar ao Azure DevOps.

Enviar somente itens de trabalho acionáveis

Envie para o Azure DevOps apenas os itens acionáveis que sua equipe planeja abordar ou se envolver no futuro. Mantenha os itens de trabalho fora do Azure DevOps até que seja necessário. Por exemplo, não tente armazenar dados de telemetria no Azure DevOps.

Manter seu próprio armazenamento de dados

Não adicione itens de trabalho ao Azure DevOps para ter todos eles em um só lugar. O Azure DevOps Services não foi projetado como um serviço de armazenamento de dados. Mantenha seu próprio armazenamento de dados.

Lote suas alterações

Fazer operações simples é lento e caro, que é a principal causa de problemas de desempenho e limitação de taxa. Agrupe suas alterações em uma única chamada. Para obter mais informações, consulte nossa documentação do lote e o código de exemplo.

Limitar suas revisões

Muitas revisões em um único item de trabalho criam bloat e causam problemas de desempenho. É recomendável realizar as seguintes tarefas:

  • Reduza suas atualizações agrupando as alterações de campo. Não atualize apenas um campo de cada vez.
  • Se você tiver alterações em vários itens de trabalho, faça o lote dessas alterações em uma única ação.
  • Mantenha o número de revisões no mínimo para evitar limites de revisão.

Observação

Um limite de revisão de item de trabalho de 10.000 está em vigor para atualizações feitas por meio da API REST. Esse limite restringe as atualizações da API REST, mas as atualizações do portal da Web não são afetadas.

Otimizar consultas

Otimize suas consultas para retornar um número modesto de resultados. Condições e filtros complexos podem resultar em consultas que demoram muito para serem executadas. Mantenha o tempo de execução da consulta abaixo de 30 segundos para evitar falhas de limite.

Dicas de desempenho de consulta

  • Coloque uma cláusula de data ou limitação de intervalo perto da parte superior de uma consulta sempre que possível.
  • Reduza o número de cláusulas que usam o Ever operador.
  • Reduza o número de cláusulas que usam o operador Contains, exceto para Tags.
    • Use o Contains Words operador quando disponível.
    • Não use o Contains operador em campos de texto longos, pois ele é caro.
  • Evite os operadores <> e Not sempre que possível.
  • Evite usar o In Group operador para grupos grandes.
  • Minimize o número de Or operadores e verifique se você ainda tem escopo de nível superior antes de usar.
  • Evite usar uma OR condição entre um In Group operador e Caminhos de Área ou Iteração.
  • Reduza o número de cláusulas gerais para atingir sua meta quando possível.
  • Sempre que possível, evite classificar por campos diferentes dos campos principais, como ID.
  • Use um campo personalizado em seus filtros se quiser classificar em um campo personalizado.
  • Especifique um projeto, se possível. Caso contrário, a consulta terá o escopo de toda a coleção e poderá levar muito mais tempo do que o necessário. Desmarque a consulta entre projetos no canto superior direito do editor de consultas.

Consulta em múltiplos projetos

  • Especifique qual projeto você está procurando se a consulta exigir pesquisa entre projetos.
  • Use marcas em vez de palavras-chave quando possível, a menos que você esteja procurando um texto parcial de uma cadeia de caracteres.

Lidar com falhas de forma elegante

As atualizações e consultas falham quando os limites de recursos ou a frequência de utilização ultrapassam o limite. Por exemplo, uma consulta que é executada por mais de 30 segundos retorna o seguinte erro:

VS402335: The timeout period (30 seconds) elapsed prior to completion of the query or the server is not responding.

Ao consumir as APIs REST, crie seu código para lidar com falhas adequadamente.

Limite o número de links por item de trabalho o máximo possível para evitar a imposição de limites de link.

Importante

Planejamos implementar a revisão dos itens de trabalho e os limites de vínculo em breve. Esses limites são determinados pelo monitoramento de desempenho e comentários dos clientes.

Não use consultas para relatórios

Usar consultas e chamadas individuais de obter item de trabalho é a melhor maneira de ter os limites de taxa aplicados à sua organização. Não execute consultas para retornar grandes listas de itens de trabalho. Em vez disso, use os links de item de trabalho de relatório e as APIs REST de revisões de item de trabalho .

Para obter mais informações, consulte nosso exemplo de C# no GitHub.