Pools-API-Referenz
Reservierte Browser-Pools über die API verwalten: Anlegen mit Gesamtgröße, warm- und inUse-Zähler lesen, Größe per PATCH ändern, sauber löschen.
Zuletzt aktualisiert:
Ein Pool hält Browser vor der Nachfrage am Laufen, sodass eine Session einen beansprucht, statt auf einen Container-Bau zu warten. Fünf Endpunkte verwalten sie, alle hinter der vertrauten Bearer-Authentifizierung mit deinem bb_-Schlüssel. Reservierte Browser sind ein bezahltes Kontingent, abgerechnet als Bestand, solange sie reserviert sind.
/v1/pools
Legt einen Pool an und beginnt, ihn auf Größe zu füllen.
Create-Body
| Name | Typ | Beschreibung |
|---|---|---|
name
erforderlich
|
string | Bis zu 80 Zeichen. |
size
erforderlich
|
integer | 1 bis 250 — und eine Gesamtzahl: warme Browser plus die aktuell von Sessions beanspruchten. |
shape
|
object | Die Browser-Form, mit der jeder Pool-Browser gestartet wird; sie steht für die Lebensdauer des Pools fest. |
/v1/pools
Listet deine Pools mit ihren Zählern.
/v1/pools/:id
Liest einen Pool, inklusive `warm` und `inUse`.
Zähler und zwei Ablehnungen
warm und inUse sind Live-Zahlen aus der Flotte — oder null, wenn die Flotte nicht gefragt werden konnte, was gemeldet statt geraten wird. Zwei Ablehnungen definieren Pool-Sessions: Ein leerer Pool fällt nie auf einen Kaltstart zurück (der Pool würde zum Hinweis statt zum Kapazitätsplan), und eine Session darf keine andere Form als die des Pools verlangen, denn diese Browser laufen bereits, mit bei Start fixierter Locale.
/v1/pools/:id
Benennt den Pool um oder ändert seine Größe; der Body nimmt `name`, `size` oder beides.
/v1/pools/:id
Löscht den Pool; Sessions, die bereits einen Browser beansprucht haben, behalten ihn.
Einmal rund um einen Pool
Legt einen Pool mit einem Browser an, liest die Zähler und löscht ihn wieder.
Voraussetzungen: api-key paid-plan
BASE="https://browserberg.com"
AUTH="Authorization: Bearer $BROWSERBERG_API_KEY"
JSON="Content-Type: application/json"
# Size is a TOTAL: warm browsers plus browsers already claimed by sessions.
POOL=$(curl -s -X POST "$BASE/v1/pools" -H "$AUTH" -H "$JSON" \
-d '{ "name": "Docs walkthrough", "size": 1, "shape": { "locale": "de-DE" } }')
PID=$(echo "$POOL" | python3 -c 'import json,sys; print(json.load(sys.stdin)["pool"]["id"])')
curl -s "$BASE/v1/pools/$PID" -H "$AUTH" \
| python3 -c 'import json,sys; p = json.load(sys.stdin)["pool"]; print(json.dumps({
"name": p["name"], "size": p["size"], "warm": p["warm"], "inUse": p["inUse"]}, indent=2))'
curl -s -X DELETE "$BASE/v1/pools/$PID" -H "$AUTH" > /dev/null