Skip to main content
Il modulo network è disponibile solo sulle applicazioni website. Restringi prima il tipo con app.isWebsite():

Dominio personalizzato

app.network.setCustomDomain(domain) imposta o rimuove il dominio personalizzato associato al website.
I domini personalizzati richiedono un piano Senior o superiore. C’è un limite giornaliero per utente sul numero di volte in cui puoi cambiare un dominio personalizzato.
Associare un dominio personalizzato oltre il limite di load balancer del tuo piano (vedi Domini e load balancer a livello di account più sotto) fallisce con LOAD_BALANCER_LIMIT_REACHED (403).

Record DNS

Dopo aver associato un dominio personalizzato devi configurare il DNS presso il tuo registrar. app.network.dns() restituisce un array di record DNS da creare.
Ogni record è { type, name, value, status }:
  • type è "txt" o "cname". I record TXT coprono la proprietà del dominio e la validazione SSL; il record CNAME trasporta il traffico e punta sempre value a cname.squareweb.app.
  • status riflette lo stato di validazione corrente, ad esempio "pending", "pending_validation" o "active".

Analytics

app.network.analytics({ start, end }) restituisce le analytics edge aggregate. start ed end accettano stringhe ISO 8601 oppure oggetti Date. La finestra massima di conservazione è di 7 giorni.
Per le finestre vuote (ad esempio prima della creazione dell’app) l’API restituisce {}. Proteggiti con "visits" in analytics prima di leggere.

Filtri di drill-down

Oltre a start/end, analytics() accetta filtri opzionali. Ogni filtro restringe tutte le ripartizioni della risposta contemporaneamente, non solo una:

Ripartizioni

Oltre alle ripartizioni esistenti a serie temporale e top-N, la risposta include quattro ripartizioni calcolate sull’intera finestra (senza serie temporale): ips (gli IP originati dalla rete stessa di Square Cloud sono mascherati), status_codes, bots e content_types. Ogni voce ha la forma { type, visits, requests, bytes }.

Tracciamento degli errori

app.network.errors({ start, end, include4xx? }) restituisce la ripartizione degli errori edge. Per impostazione predefinita vengono inclusi solo gli errori 5xx.

Log per richiesta

app.network.logs({ start, end }) restituisce i log edge per singola richiesta.
I log per richiesta richiedono un piano Pro o superiore.

Percentili di latenza

app.network.performance({ start, end }) restituisce le latenze p50 / p95 / p99 per i layer edge e origin.
Le metriche di performance richiedono un piano Pro o superiore.

Svuotamento della cache edge

app.network.purgeCache() invalida l’intera cache edge per i domini dell’applicazione.

Domini e load balancer a livello di account

domains() e loadBalancers() si trovano su api.applications, non su app.network — operano su tutte le applicazioni dell’account invece che su un singolo website.

Elencare tutti i domini

api.applications.domains() restituisce tutti i domini configurati su tutte le applicazioni dell’account.
I domini personalizzati sono elencati per primi; le applicazioni senza un dominio web sono omesse. I risultati vengono serviti dalla cache e sono soggetti a un rate limit di 20 richieste/60s per utente, che non conta ai fini dei rate limit di rete per applicazione descritti sopra.

Load balancer

api.applications.loadBalancers() raggruppa le applicazioni che condividono un dominio personalizzato.
Un gruppo con 2 o più app è un load balancer attivo: il traffico viene bilanciato all’edge con failover automatico quando una delle app è offline. limit è il numero massimo di applicazioni che possono condividere un dominio sul piano dell’account: 2 (Standard), 5 (Pro), 10 (Enterprise). Rate limit di 20 richieste/60s per utente.