Skip to main content
Das network-Modul ist nur bei Website-Anwendungen verfügbar. Grenze den Typ zuerst mit app.isWebsite() ein:

Custom-Domain

app.network.setCustomDomain(domain) setzt oder entfernt die an die Website gebundene Custom-Domain.
Custom-Domains erfordern einen Senior-Plan oder höher. Es gibt ein tägliches Limit pro Benutzer, wie oft du eine Custom-Domain ändern kannst.
Das Anbinden einer Custom-Domain über das Load-Balancer-Limit deines Plans hinaus (siehe Kontoweite Domains und Load-Balancer unten) schlägt mit LOAD_BALANCER_LIMIT_REACHED (403) fehl.

DNS-Einträge

Nachdem du eine Custom-Domain angebunden hast, musst du DNS bei deinem Registrar konfigurieren. app.network.dns() liefert ein Array der zu erstellenden DNS-Einträge.
Jeder Eintrag hat die Form { type, name, value, status }:
  • type ist "txt" oder "cname". TXT-Einträge decken Domain-Ownership und SSL-Validierung ab; der CNAME-Eintrag trägt den Traffic und zeigt mit value immer auf cname.squareweb.app.
  • status spiegelt den aktuellen Validierungsstatus wider, z. B. "pending", "pending_validation" oder "active".

Analytics

app.network.analytics({ start, end }) liefert aggregierte Edge-Analytics. start und end akzeptieren entweder ISO-8601-Strings oder Date-Objekte. Das maximale Aufbewahrungsfenster beträgt 7 Tage.
Für leere Fenster (z. B. vor der Erstellung der App) liefert die API {}. Sichere mit "visits" in analytics ab, bevor du liest.

Drill-down-Filter

Zusätzlich zu start/end akzeptiert analytics() optionale Filter. Jeder Filter grenzt sofort jede Aufschlüsselung in der Antwort ein, nicht nur eine davon:

Aufschlüsselungen

Neben den bestehenden Zeitreihen- und Top-N-Aufschlüsselungen enthält die Antwort vier über das gesamte Fenster berechnete Aufschlüsselungen (ohne Zeitreihe): ips (IPs, die aus dem eigenen Netzwerk von Square Cloud stammen, werden maskiert), status_codes, bots und content_types. Jeder Eintrag hat die Form { type, visits, requests, bytes }.

Fehler-Tracking

app.network.errors({ start, end, include4xx? }) liefert die Aufschlüsselung der Edge-Fehler. Standardmäßig werden nur 5xx-Fehler einbezogen.

Per-Request-Logs

app.network.logs({ start, end }) liefert die Edge-Logs pro Request.
Per-Request-Logs erfordern einen Pro-Plan oder höher.

Latenz-Perzentile

app.network.performance({ start, end }) liefert p50-/p95-/p99-Latenzen für die Edge- und Origin-Schichten.
Performance-Metriken erfordern einen Pro-Plan oder höher.

Leeren des Edge-Caches

app.network.purgeCache() invalidiert den gesamten Edge-Cache für die Domains der Anwendung.

Kontoweite Domains und Load-Balancer

domains() und loadBalancers() befinden sich auf api.applications, nicht auf app.network — sie operieren über alle Anwendungen des Kontos hinweg, nicht nur über eine einzelne Website.

Alle Domains auflisten

api.applications.domains() liefert jede Domain, die über alle Anwendungen des Kontos konfiguriert ist.
Custom-Domains werden zuerst aufgeführt; Anwendungen ohne Web-Domain werden ausgelassen. Ergebnisse werden aus dem Cache bedient und sind auf 20 Requests/60s pro Benutzer begrenzt, was nicht auf die oben beschriebenen Rate-Limits pro Anwendung angerechnet wird.

Load-Balancer

api.applications.loadBalancers() gruppiert Anwendungen, die sich eine Custom-Domain teilen.
Eine Gruppe mit 2 oder mehr Apps ist ein aktiver Load-Balancer: Der Traffic wird am Edge verteilt, mit automatischem Failover, wenn eine der Apps offline ist. limit ist die maximale Anzahl an Anwendungen, die sich auf dem Plan des Kontos eine Domain teilen können: 2 (Standard), 5 (Pro), 10 (Enterprise). Begrenzt auf 20 Requests/60s pro Benutzer.