Skip to main content
Le module network n’est disponible que sur les applications de type site web. Restreignez d’abord le type avec app.isWebsite() :

Domaine personnalisé

app.network.setCustomDomain(domain) définit ou supprime le domaine personnalisé associé au site web.
Les domaines personnalisés nécessitent un plan Senior ou supérieur. Il existe une limite quotidienne par utilisateur sur le nombre de fois où vous pouvez changer un domaine personnalisé.
Associer un domaine personnalisé au-delà de la limite de load balancer de votre plan (voir Domaines et load balancers à l’échelle du compte ci-dessous) échoue avec LOAD_BALANCER_LIMIT_REACHED (403).

Enregistrements DNS

Après avoir associé un domaine personnalisé, vous devez configurer le DNS chez votre registrar. app.network.dns() renvoie un tableau d’enregistrements DNS à créer.
Chaque enregistrement est { type, name, value, status } :
  • type vaut "txt" ou "cname". Les enregistrements TXT couvrent la propriété du domaine et la validation SSL ; l’enregistrement CNAME porte le trafic et pointe toujours value vers cname.squareweb.app.
  • status reflète l’état de validation actuel, ex. "pending", "pending_validation" ou "active".

Analytics

app.network.analytics({ start, end }) renvoie les analytics edge agrégées. start et end acceptent soit des chaînes ISO 8601, soit des objets Date. La fenêtre de rétention maximale est de 7 jours.
Pour les fenêtres vides (par exemple avant la création de l’application), l’API renvoie {}. Protégez-vous avec "visits" in analytics avant toute lecture.

Filtres de drill-down

Au-delà de start/end, analytics() accepte des filtres optionnels. Chaque filtre restreint toutes les ventilations de la réponse en même temps, pas seulement l’une d’entre elles :

Ventilations

En plus des séries temporelles et des ventilations top-N existantes, la réponse inclut quatre ventilations calculées sur l’ensemble de la fenêtre (sans série temporelle) : ips (les IP provenant du réseau propre de Square Cloud sont masquées), status_codes, bots et content_types. Chaque entrée a la forme { type, visits, requests, bytes }.

Suivi des erreurs

app.network.errors({ start, end, include4xx? }) renvoie la ventilation des erreurs edge. Par défaut, seules les erreurs 5xx sont incluses.

Logs par requête

app.network.logs({ start, end }) renvoie les logs edge par requête.
Les logs par requête nécessitent un plan Pro ou supérieur.

Percentiles de latence

app.network.performance({ start, end }) renvoie les latences p50 / p95 / p99 pour les couches edge et origin.
Les métriques de performance nécessitent un plan Pro ou supérieur.

Purger le cache edge

app.network.purgeCache() invalide l’intégralité du cache edge pour les domaines de l’application.

Domaines et load balancers à l’échelle du compte

domains() et loadBalancers() résident sur api.applications, pas sur app.network — ils opèrent sur l’ensemble des applications du compte plutôt que sur un seul site web.

Lister tous les domaines

api.applications.domains() renvoie tous les domaines configurés sur l’ensemble des applications du compte.
Les domaines personnalisés sont listés en premier ; les applications sans domaine web sont omises. Les résultats sont servis depuis le cache et limités à 20 requêtes/60s par utilisateur, ce qui ne compte pas dans les limites de débit réseau par application décrites plus haut.

Load balancers

api.applications.loadBalancers() regroupe les applications qui partagent un domaine personnalisé.
Un groupe de 2 applications ou plus est un load balancer actif : le trafic est réparti à l’edge avec basculement automatique lorsqu’une des applications est hors ligne. limit est le nombre maximal d’applications pouvant partager un domaine sur le plan du compte : 2 (Standard), 5 (Pro), 10 (Enterprise). Limité à 20 requêtes/60s par utilisateur.