Partilhar via


Práticas recomendadas para integração

Serviços de DevOps do Azure

As ferramentas e integrações entre serviços melhoram a eficiência dos Serviços de DevOps do Azure. Se você não tiver cuidado, as ferramentas automatizadas podem 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 limites de taxa, siga estas práticas recomendadas ao usar as APIs REST para integrar com o Azure DevOps.

Envie por push apenas os itens de trabalho acionáveis

Envie apenas itens acionáveis para o Azure DevOps com os quais a sua equipa planeia lidar ou abordar 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.

Mantenha o seu próprio armazenamento de dados

Não adicione itens de trabalho ao Azure DevOps para tê-los todos em um só lugar. Os Serviços de DevOps do Azure não foram concebidos como um serviço de armazenamento de dados. Mantenha o seu próprio armazenamento de dados.

Agrupe as alterações

Fazer operações individuais é lento e caro, o 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 a documentação de lote e o código de exemplo .

Limite as suas revisões

Muitas revisões em um único item de trabalho criam inchaço e causam problemas de desempenho. Recomendamos realizar as seguintes tarefas:

  • Reduza as atualizações enviando em lote 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, agrupe essas alterações em uma única ação.
  • Mantenha o número de revisões ao 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 levar a consultas de longa duração. Mantenha o tempo de execução da consulta abaixo de 30 segundos para evitar falhas de limite.

Sugestões para otimização do desempenho de consultas

  • Coloque uma cláusula de limitação de data ou 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 é caro.
  • Evite o <> e Not operadores quando possível.
  • Evite usar o In Group operador para grupos grandes.
  • Minimize o número de Or operadores e certifique-se de ainda ter um escopo de alto nível antes de usar.
  • Evite usar uma cláusula OR entre um operador In Group e os Caminhos de Área ou Iteração.
  • Reduza o número de cláusulas gerais para atingir seu objetivo quando possível.
  • Evite classificar em qualquer coisa que não seja campos principais, como ID, quando possível.
  • 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 é expandida para abranger toda a coleção e pode demorar muito mais do que o necessário. Desative Consulta entre projetos no canto superior direito do editor de consultas.

Consulta através de projetos

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

Lide com falhas com elegância

As atualizações e consultas falham quando os limites de recursos ou a frequência de utilização ultrapassam o limite limite. Por exemplo, uma consulta 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.

Quando você estiver consumindo as APIs REST, certifique-se de projetar seu código para lidar com falhas adequadamente.

Limite o número de links por item de trabalho tanto quanto possível, para evitar a imposição de limites de links.

Importante

Planejamos impor a revisão de itens de trabalho e limites de links em breve. Esses limites são determinados pelo monitoramento de desempenho e pelo feedback do cliente.

Não use consultas para relatórios

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

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