Rate Limits
Die RealityConnect API begrenzt Anfragen pro Organisation mithilfe eines Token-Buckets pro Routenfamilie. Diese Seite behandelt die Buckets, die Header, die jede ratenbegrenzte Antwort trägt, und was bei 429 Too Many Requests zu tun ist.
Buckets
Abschnitt betitelt „Buckets“Jeder Bucket hat eine Kapazität (maximale Anzahl an Tokens, d. h. die Burst-Größe) und eine Auffüllrate (Tokens pro Sekunde, d. h. der nachhaltige Durchsatz). Eine Anfrage verbraucht ein Token; ist der Bucket leer, wird die Anfrage mit 429 abgelehnt.
| Bucket | Kapazität | Auffüllrate | Umfasst |
|---|---|---|---|
assets | 1000 | 10/s | RealityAssets, Asset-Typen, Asset-Kategorien, Erstellen/Lesen/Auflisten/Löschen von Geschäftsobjekten |
twin | 1000 | 10/s | Twin-Space, POIs, Zonen, Entwürfe |
platform | 1000 | 10/s | Site, Datenknoten, Data Bundle, Plugins |
plan | 1000 | 10/s | RealityPlan-Space, Modell-Assets |
library | 1000 | 10/s | Asset-Library-Modelle und -Tags |
embed | 100 | 2/s | Ausstellen von Embed-Sitzungen |
users | 1000 | 10/s | Benutzer, Gruppen, Rollen, Einladungen |
sitefiles | 1000 | 10/s | Site-Dateien |
Die Ratenbegrenzung erfolgt pro Organisation: Alle OAuth-Anwendungen und Benutzer, die im Namen derselben Organisation handeln, teilen sich einen Bucket pro Familie.
Antwort-Header
Abschnitt betitelt „Antwort-Header“Jede ratenbegrenzte Antwort, erfolgreich oder nicht, trägt diese Header:
| Header | Bedeutung |
|---|---|
X-RateLimit-Limit | Die Kapazität des Buckets |
X-RateLimit-Remaining | Verbleibende Tokens im Bucket |
X-RateLimit-Reset | Sekunden, bis der Bucket wieder voll ist |
X-RateLimit-Policy | {capacity};w={window}, wobei window (in Sekunden) capacity / refillRate entspricht |
Nur bei 429 Too Many Requests trägt die Antwort zusätzlich Retry-After (Sekunden, bis mindestens ein Token verfügbar ist) sowie diesen Body:
{ "statusCode": 429, "message": "Too Many Requests", "error": "rate_limited"}Umgang mit 429
Abschnitt betitelt „Umgang mit 429“Verzögern Sie erneute Versuche anhand von Retry-After statt mit einer festen Wartezeit oder einem sofortigen erneuten Versuch: Ein sofortiger erneuter Versuch gegen einen leeren Bucket erzeugt lediglich ein weiteres 429. Takten Sie bei anhaltend hohem Anfragevolumen Ihre Anfragen so, dass Sie unter der Auffüllrate des Buckets bleiben, statt die Kapazität auszuschöpfen und auf das Zurücksetzen zu warten.
Wie geht es weiter?
Abschnitt betitelt „Wie geht es weiter?“- Siehe die API-Referenz für die genauen Operationen unter jedem Bucket.