Skip to main content
c.Apps.Network funktioniert nur mit Web-Apps. Jede Methode nimmt zuerst ctx und die App-ID. Jedes Snippet unten läuft für sich allein in diesem Programm: Füge jeweils eines in main ein und führe goimports aus (siehe Beispiele ausführen).

Zeitfenster

Analytics, Errors, Logs und Performance nehmen ein start und ein end, jeweils ein time.Time (gesendet als RFC 3339 in UTC). Das Programm oben setzt sie auf die letzten 24 Stunden. Ein Fenster umfasst höchstens 7 Tage, und start wird auf das Erstellungsdatum der App begrenzt. Ein ungültiges Fenster ergibt 400 INVALID_TIME_RANGE. Ergebnisse werden in 5-Minuten-Intervallen gecacht. Cache-Misses dieser vier Methoden teilen sich ein Limit von 20 Anfragen pro 60 Sekunden pro Konto: Wird es überschritten, ergibt das 429 RATE_LIMITED.

Analytics

Network.Analytics(ctx, appID, start, end, filters) gibt Verkehrssummen und Aufschlüsselungen als *NetworkAnalytics zurück. Für ein Fenster ohne Verkehr gibt die Methode nil zurück (und einen nil-Fehler). Übergib ein leeres squarecloud.AnalyticsFilters{}, wenn du keine Filter brauchst.
Die Aufschlüsselungen sind Countries, Devices, OS, Browsers, Protocols, Methods, Paths, Referers, Providers, IPs, StatusCodes, Bots und ContentTypes (JSON countries, …, status_codes, bots, content_types). Jeder Eintrag hat Type, Visits, Requests und Bytes (int64).

Filter

Filter schränken jede Aufschlüsselung ein. Jeder nimmt den exakten Type-Wert seiner Aufschlüsselung. Ein leeres Feld wird nicht gesendet:
Ein ungültiger Filter ergibt 400 INVALID_FILTER.

Fehler

Network.Errors(ctx, appID, start, end, include4xx) gibt die 5xx-Antworten des Fensters zurück, zusätzlich die 4xx, wenn include4xx true ist. Für ein leeres Fenster gibt die Methode nil zurück.

Request-Logs

Network.Logs(ctx, appID, start, end) gibt einzelne Anfragen mit Details zu Client, Anfrage und Antwort zurück. Verfügbar in den Plänen Pro und Enterprise (sonst 403 UPGRADE_REQUIRED).
Felder, die die API als null senden kann, sind Zeiger (Client.IP, Client.Country, Request.Query, Request.Referer, Response.Cache, …).

Performance

Network.Performance(ctx, appID, start, end) gibt Latenzperzentile (P50, P95, P99, in ms) an der Edge und am Ursprung zurück, nach Land, nach Standort und für die langsamsten Pfade. Für ein leeres Fenster gibt die Methode nil zurück. Verfügbar in den Plänen Pro und Enterprise. Jedes Perzentil ist ein *float64, nil, wenn es keine Anfragen zu messen gab:

DNS

Network.DNS(ctx, appID) gibt die DNS-Einträge zurück, die deine eigene Domain benötigt, zusammen mit ihrem Status. Ohne eigene Domain ergibt das 400 NO_CUSTOM_DOMAIN.

Eigene Domain

Network.SetDomain(ctx, appID, domain) verbindet eine eigene Domain (ab dem Standard-Plan). Übergib "@", um sie zu entfernen.

Cache leeren

Network.PurgeCache(ctx, appID) leert den Edge-Cache der App. Das ist auf einen Vorgang alle 60 Sekunden begrenzt (429 KEEP_CALM).

Fehler der Analytics-Methoden

Nächste Schritte

Realtime

Live-Logs und -Status streamen.

API-Referenz für das Netzwerk

Die REST-Endpunkte hinter diesen Methoden.

Edge-Analytics über die CLI

Dieselben Aktionen im Terminal.