Share via


Melhores práticas de 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 executando uma alta taxa de solicitações. As solicitações fazem com que o Azure DevOps imponha limites de taxa à sua organização. Para ajudar a reduzir o risco de atingir os limites de taxa, siga estas práticas recomendadas quando estiver usando as APIs REST para integração com o Azure DevOps.

Envie apenas itens de trabalho acionáveis por push

Envie apenas itens acionáveis para o Azure DevOps que sua equipe planeja envolver 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 em lote

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 nossa documentação em lote e 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.

Nota

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 das consultas abaixo de 30 segundos para evitar falhas de limite.

Sugestões de 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 operador Ever .
  • Reduza o número de cláusulas que usam o operador Contains (contém ), exceto Tags.
    • Use o operador Contém palavras quando disponível.
    • Não use o operador Contains em campos de texto longos, pois é caro.
  • Evite os operadores ''<> e não quando possível.
  • Evite usar o operador In Group para grupos grandes.
  • Minimize o número de operadores Or e certifique-se de que ainda tem o escopo de nível superior antes de usar.
  • Evite usar uma cláusula OR entre um operador In Group e 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, sempre que 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 obtém escopo para toda a coleção e pode levar dramaticamente mais tempo do que o necessário. Desmarque "Consulta entre projetos no canto superior direito" do editor de consultas.

Consultar entre 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 um futuro próximo. 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 itens de trabalho é a melhor maneira de obter 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 detrabalho.

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