Leitfaden zu Einschränkungen in Microsoft GraphMicrosoft Graph throttling guidance

Durch Einschränkungen wird die Anzahl der gleichzeitigen Aufrufe an einen Dienst begrenzt, um eine Überlastung von Ressourcen zu verhindern. Microsoft Graph ist für die Verarbeitung einer großen Menge von Anforderungen konzipiert. Wenn die Anzahl der Anforderungen jedoch zu hoch ist und zu einer Überlastung führen könnte, können Einschränkungen dazu beitragen, die optimale Leistung und Zuverlässigkeit des Microsoft Graph-Diensts aufrechtzuerhalten.Throttling limits the number of concurrent calls to a service to prevent overuse of resources. Microsoft Graph is designed to handle a high volume of requests. If an overwhelming number of requests occurs, throttling helps maintain optimal performance and reliability of the Microsoft Graph service.

Einschränkungsgrenzwerte variieren je nach Szenario. Wenn Sie beispielsweise eine große Anzahl von Schreibvorgängen ausführen, ist eine Einschränkung wahrscheinlicher, als wenn nur Lesevorgänge ausgeführt werden.Throttling limits vary based on the scenario. For example, if you are performing a large volume of writes, the possibility for throttling is higher than if you are only performing reads.

Was passiert im Fall einer Einschränkung?What happens when throttling occurs?

Wenn ein Einschränkungsschwellenwert überschritten wird, begrenzt Microsoft Graph alle weiteren Anforderungen von diesem Client für einen bestimmten Zeitraum. Im Fall einer Einschränkung gibt Microsoft Graph den HTTP-Statuscode 429 (zu viele Anforderungen) zurück, und bei den Anforderungen tritt ein Fehler auf. Eine vorgeschlagene Wartezeit wird im Antwortheader der nicht ausgeführten Anforderung zurückgegeben. Das Einschränkungsverhalten kann vom Typ und der Anzahl der Anforderungen abhängen. Wenn z. B. eine große Menge von Anforderungen vorliegt, werden alle Anforderungstypen eingeschränkt. Die Schwellenwerte variieren je nach Anforderungstyp. Daher kann der Fall eintreten, dass Schreibvorgänge eingeschränkt werden, Lesevorgänge jedoch weiterhin zulässig sind.When a throttling threshold is exceeded, Microsoft Graph limits any further requests from that client for a period of time. When throttling occurs, Microsoft Graph returns HTTP status code 429 (Too many requests), and the requests fail. A suggested wait time is returned in the response header of the failed request. Throttling behavior can depend on the type and number of requests. For example, if you have a high volume of requests, all requests types are throttled. Threshold limits vary based on the request type. Therefore, you could encounter a scenario where writes are throttled but reads are still permitted.

Allgemeine EinschränkungsszenarienCommon throttling scenarios

Zu den häufigsten Ursachen für die Einschränkung von Clients zählen folgende:The most common causes of throttling of clients include:

  • Eine große Anzahl von Anforderungen in allen Anwendungen in einem Mandanten.A large number of requests across all applications in a tenant.
  • Eine große Anzahl von Anforderungen von einer bestimmten Anwendung in allen Mandanten.A large number of requests from a particular application across all tenants.

Bewährte Methoden zum Behandeln der EinschränkungenBest practices to handle throttling

Im Folgenden finden Sie bewährte Methoden für den Umgang mit Einschränkungen:The following are best practices for handling throttling:

  • Verringern Sie die Anzahl der Vorgänge pro Anforderung.Reduce the number of operations per request.
  • Verringern Sie die Häufigkeit von Aufrufen.Reduce the frequency of calls.
  • Vermeiden Sie sofortige Wiederholungsversuche, da alle Anforderungen auf Ihre Nutzungsgrenzwerte angerechnet werden.Avoid immediate retries, because all requests accrue against your usage limits.

Wenn Sie Fehlerbehandlung implementieren, verwenden Sie den HTTP-Fehlercode 429 zur Erkennung von Einschränkungen. Im Antwortheader der Fehlerantwort ist das Feld Retry-After enthalten. Das Zurückhalten von Anforderungen unter Anwendung der Retry-After-Verzögerung ist die schnellste Methode der Wiederherstellung nach Auftreten einer Einschränkung, da Microsoft Graph den Ressourceneinsatz weiterhin protokolliert, während ein Client eingeschränkt ist.When you implement error handling, use the HTTP error code 429 to detect throttling. The failed response includes the Retry-After field in the response header. Backing off requests using the Retry-After delay is the fastest way to recover from throttling because Microsoft Graph continues to log resource usage while a client is being throttled.

  1. Warten Sie die im Feld Retry-After angegebene Anzahl von Sekunden.Wait the number of seconds specified in the Retry-After field.
  2. Wiederholen Sie die Anforderung.Retry the request.
  3. Wenn die Anforderung erneut nicht ausgeführt und der Fehlercode 429 zurückgegeben wird, unterliegen Sie weiterhin einer Einschränkung. Wiederholen Sie die Anforderung unter Anwendung der empfohlenen Retry-After-Verzögerung so lange, bis die Anforderung erfolgreich ist.If the request fails again with a 429 error code, you are still being throttled. Continue to use the recommended Retry-After delay and retry the request until it succeeds.

Folgende Ressourcen bieten derzeit einen Retry-After-Header:The following resources currently provide a retry-after header:

Eine ausführlichere Erläuterung zum Thema Einschränkung in der Microsoft Cloud finden Sie unter Throttling.For a broader discussion of throttling on the Microsoft Cloud, see Throttling Pattern.