All posts

API-sleutels, rate limits en het bouwen van een echte pipeline

ZeroStorage Team2 min read

De REST API is dezelfde die de web-UI gebruikt. Het verschil is dat een script beleefd kan zijn, en het platform zal daarop reageren.

Sleutels

  • Maak en intrek sleutels onder Instellingen → API-sleutels.
  • Beperk elke sleutel tot de taak: uploads, leestoevoer of volledige toegang.
  • Roteer zonder downtime door twee sleutels te gebruiken tijdens een deploy.
curl -H "Authorization: Bearer $KEY" \
-F "[email protected]" \
https://zerostorage.net/api/files/upload

Rate limits

Limits zijn per sleutel en per IP, met response headers die het resterende budget tonen. Gebruik bij 429 die headers om terug te vallen in plaats van een vaste sleep — het budget vult zich continu bij.

Retry-patroon

  1. Herhaal 429 en 5xx met exponentiële backoff en jitter.
  2. Herhaal nooit een 401 of 403 — roteer de sleutel in plaats daarvan.
  3. Idempotentie komt van hashes: het opnieuw verzenden van hetzelfde bestand is gratis.

Een pipeline die contact overleeft

Bulkimports mislukken op voorspelbare manieren: het netwerk stuitert, een sleutel roteert halverwege een run, en een naïeve loop hamert op een server die nog aan het herstellen is. Het patroon dat werkt is saai — rangschik het werk, laat een handvol workers draaien en laat de response headers het tempo bepalen. Bewaar de hash van elk afgerond item zodat een herstart hervat in plaats van herhaalt. Als een run eindigt met fouten, is het nuttige artefact een lijst met hashes en statuscodes, niet een logbestand dat je als een roman moet lezen.

  • Beperk concurrentie eerst; verhoog het alleen als de headers nog budget tonen.
  • Maak een checkpoint per batch, niet per bestand.
  • Stuur een alert op de verhouding tussen 429's en successen — die verhouding is het echte gezondheidssignaal.

Niets hiervan is exotisch. Het is het verschil tussen een script dat een keer op je laptop draait en een pipeline die iemand anders kan bedienen zonder je te vragen hoe het werkt. Schrijf de runbook terwijl de faalmodi nog vers in het geheugen zijn — welke sleutelscopes er bestaan, wat de steady-state concurrentie is en hoe een gezonde dag aan responses eruitziet — want de persoon die om 3 uur 's nachts wordt opgeroepen, zal eerst niet de broncode lezen.

Blader door de API-referentie en de playground voordat je iets in productie aansluit.

Home
My Files
API Docs
Contact
Transfers