Entwickler
Rate Limits der Public API
Wie die Costfluent Public API die Anfragen jedes Tokens begrenzt und wie du bei einer Antwort 429 zurücksteckst.
Jedes API-Token hat sein eigenes Anfragekontingent pro Minute und pro Stunde. Eine stark beschäftigte Integration auf einem Token bremst nie ein anderes Token. Eine Anfrage ohne Token teilt sich ein Kontingent mit jedem anderen anonymen Aufrufer.
Wenn eine Anfrage abgelehnt wird
Eine Anfrage über dem Kontingent antwortet mit 429 und dem Fehler-Body, code rate_limit_exceeded und retryable true. Ihr detail nennt das Limit und sein Zeitfenster. Vier Header sagen, wann du es erneut versuchen kannst:
| Header | Wert |
|---|---|
RateLimit-Limit | Die Anfragen, die das Zeitfenster erlaubt, das diese abgelehnt hat. |
RateLimit-Remaining | Die verbleibenden Anfragen in diesem Zeitfenster: 0. |
RateLimit-Reset | Sekunden, bis das Zeitfenster wieder eine Anfrage durchlässt. |
Retry-After | Dieselben Sekunden wie RateLimit-Reset. |
Zurückstecken
- Lies bei einem
429den HeaderRetry-After, oderRateLimit-Reset, wenn ein Proxy ihn entfernt hat. - Warte so viele Sekunden und sende dieselbe Anfrage erneut.
- Ist die Wartezeit lang, etwa fast eine Stunde, ist das Stundenkontingent aufgebraucht: Halte an und setze später fort, statt die Anfrage offen zu halten.
Der Terraform-Provider erledigt das für dich: Er wartet ein kurzes Retry-After ab und meldet ein langes als Fehler.
Wie es sich verhält
- Das Kontingent gehört zum Token, egal welcher Client oder welche Adresse es sendet. Ein Header wie
X-Client-Idöffnet kein neues Kontingent. - Nur
Authorization: Bearerträgt ein Token. Ein auf anderem Weg gesendetes Token, etwa in einemX-Api-Key-Header, wird nicht gelesen; eine Operation, die ein Token braucht, antwortet daher mit401. - Ein
429wird abgelehnt, bevor die Operation läuft; ein erneuter Versuch ist daher für jede Methode sicher, auch für ein Anlegen. - Kostendaten mit
limit=5000zu lesen kostet eine Anfrage je 5.000 Zeilen; siehe Paginierung.