Share via


Aanbevolen integratieprocedures

Azure DevOps Services

Hulpprogramma's en integraties tussen services verbeteren de efficiëntie van Azure DevOps Services. Als u niet voorzichtig bent, kunnen geautomatiseerde hulpprogramma's de controle krijgen over het uitvoeren van een hoge frequentie van aanvragen. De aanvragen zorgen ervoor dat Azure DevOps frequentielimieten afdwingt voor uw organisatie. Volg deze aanbevolen procedures wanneer u de REST API's gebruikt om te integreren met Azure DevOps om het risico op het bereiken van de frequentielimieten te verminderen.

Alleen bruikbare werkitems pushen

Push alleen actie-items naar Azure DevOps die uw team in de toekomst wil gebruiken of adresseren. Werkitems uit Azure DevOps houden totdat dit nodig is. Probeer bijvoorbeeld geen telemetriegegevens op te slaan in Azure DevOps.

Uw eigen gegevensarchief onderhouden

Voeg geen werkitems toe aan Azure DevOps om ze allemaal op één plaats te hebben. Azure DevOps Services is niet ontworpen als een gegevensopslagservice. Uw eigen gegevensarchief onderhouden.

Uw wijzigingen batchgewijs doorvoeren

Het uitvoeren van één bewerking is traag en duur, wat de belangrijkste oorzaak is voor prestatieproblemen en snelheidsbeperking. Batcheer uw wijzigingen in één aanroep. Zie onze batchdocumentatie en voorbeeldcode voor meer informatie.

Beperk uw revisies

Veel revisies op één werkitem maken bloat en veroorzaken prestatieproblemen. U wordt aangeraden de volgende taken uit te voeren:

  • Beperk uw updates door de veldwijzigingen in batches te verwerken. Werk niet slechts één veld tegelijk bij.
  • Als u wijzigingen in meerdere werkitems hebt, moet u deze wijzigingen in één actie in een batch plaatsen.
  • Houd het aantal revisies tot een minimum om revisielimieten te voorkomen.

Notitie

Een revisielimiet voor werkitems van 10.000 is van kracht voor updates die zijn gemaakt via de REST API. Deze limiet beperkt updates van de REST API, maar updates van de webportal worden niet beïnvloed.

Query's optimaliseren

Optimaliseer uw query's om een bescheiden aantal resultaten te retourneren. Complexe voorwaarden en filters kunnen leiden tot langlopende query's. Bewaar de uitvoeringstijd van uw query's minder dan 30 seconden om drempelwaardefouten te voorkomen.

Tips voor queryprestaties

  • Plaats waar mogelijk een datum- of bereikbeperkingscomponent boven aan een query.
  • Verminder het aantal componenten dat gebruikmaakt van de Ever-operator .
  • Verminder het aantal componenten dat gebruikmaakt van de operator Contains , met uitzondering van tags.
    • Gebruik de operator Woorden bevat indien beschikbaar.
    • Gebruik de operator Contains niet voor lange tekstvelden, omdat het duur is.
  • Vermijd de operatoren '<>' en niet indien mogelijk.
  • Vermijd het gebruik van de operator In-groep voor grote groepen.
  • Minimaliseer het aantal of operators en zorg ervoor dat u nog steeds het bereik op het hoogste niveau hebt voordat u deze gebruikt.
  • Vermijd het gebruik van een OR-component tussen een operator in groep en gebieds- of iteratiepaden.
  • Verminder het aantal algemene componenten om uw doel te bereiken, indien mogelijk.
  • Vermijd sorteren op andere dan kernvelden, zoals id, indien mogelijk.
  • Gebruik een aangepast veld in uw filters als u wilt sorteren op een aangepast veld.
  • Geef indien mogelijk een project op. Anders krijgt de query het bereik van de hele verzameling en kan het aanzienlijk langer duren dan nodig is. Schakel query's uitvoeren in projecten in de rechterbovenhoek van de queryeditor uit.

Query across projects (Query's uitvoeren in projecten)

  • Geef op welk project u zoekt als voor de query moet worden gezocht in projecten.
  • Gebruik waar mogelijk tags in plaats van trefwoorden , tenzij u naar gedeeltelijke tekst van een tekenreeks zoekt.

Fouten probleemloos afhandelen

Updates en query's mislukken wanneer resourcelimieten of frequentie van gebruik de limietdrempel overschrijdt. Een query die langer dan 30 seconden wordt uitgevoerd, retourneert bijvoorbeeld de volgende fout:

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

Wanneer u de REST API's gebruikt, moet u ervoor zorgen dat u uw code ontwerpt om fouten op de juiste manier af te handelen.

Beperk het aantal koppelingen per werkitem zoveel mogelijk om het afdwingen van koppelingslimieten te voorkomen.

Belangrijk

We zijn van plan om revisie van werkitems en koppelingslimieten in de nabije toekomst af te dwingen. Deze limieten worden bepaald door prestatiebewaking en feedback van klanten.

Geen query's gebruiken voor rapportage

Het gebruik van query's en afzonderlijke aanroepen van werkitems is de beste manier om frequentielimieten af te dwingen voor uw organisatie. Voer geen query's uit om grote lijsten met werkitems te retourneren. Gebruik in plaats daarvan de koppelingen naar werkitems en revisies van werkitems.

Zie ons C#-voorbeeld op GitHub voor meer informatie.