Skip to main content
network 模块仅在网站应用上可用。请先用 app.isWebsite() 收窄类型:

自定义域名

app.network.setCustomDomain(domain) 设置或移除绑定到网站的自定义域名。
自定义域名需要 Senior 套餐或更高级别。每个用户每天可以更改自定义域名的次数存在上限。
绑定的自定义域名超过你的套餐负载均衡器上限(见下方账户级域名与负载均衡器)时会失败,报错代码为 LOAD_BALANCER_LIMIT_REACHED(403)。

DNS 记录

绑定自定义域名后,你需要在域名注册商处配置 DNS。app.network.dns() 返回一个需要创建的 DNS 记录数组。
每条记录的结构为 { type, name, value, status }
  • type"txt""cname"。TXT 记录用于域名所有权和 SSL 验证;CNAME 记录承载流量,value 始终指向 cname.squareweb.app
  • status 反映当前的验证状态,例如 "pending""pending_validation""active"

分析

app.network.analytics({ start, end }) 返回聚合的边缘分析数据。startend 接受 ISO 8601 字符串或 Date 对象。最大保留窗口为 7 天
对于空窗口(例如应用创建之前),API 会返回 {}。读取前请用 "visits" in analytics 进行保护。

下钻过滤器

start/end 外,analytics() 还接受可选的过滤器。每个过滤器会一次性收窄响应中的所有分组,而不仅是其中一个:

分组数据

除了已有的时间序列和 Top-N 分组外,响应中还包含四个基于整个时间窗口计算(不含时间序列)的分组:ips(源自 Square Cloud 自身网络的 IP 会被打码)、status_codesbotscontent_types。每一项的结构为 { type, visits, requests, bytes }

错误跟踪

app.network.errors({ start, end, include4xx? }) 返回边缘错误明细。默认仅包含 5xx 错误。

单请求日志

app.network.logs({ start, end }) 返回逐请求的边缘日志。
单请求日志需要 Pro 套餐或更高级别。

延迟百分位数

app.network.performance({ start, end }) 返回边缘层和源站层的 p50 / p95 / p99 延迟。
性能指标需要 Pro 套餐或更高级别。

清除边缘缓存

app.network.purgeCache() 会使应用各域名的整个边缘缓存失效。

账户级域名与负载均衡器

domains()loadBalancers() 位于 api.applications 上,而非 app.network —— 它们作用于账户下的所有应用,而不是单个网站。

列出所有域名

api.applications.domains() 返回账户下所有应用配置的每一个域名。
自定义域名排在前面;没有网站域名的应用会被省略。结果来自缓存,并对每个用户限速为 20 次请求/60 秒,该限制不计入上述按应用计算的网络速率限制。

负载均衡器

api.applications.loadBalancers() 会将共享同一个自定义域名的应用分组。
包含 2 个及以上应用的分组即为激活状态的负载均衡器:流量会在边缘进行负载均衡,当其中一个应用离线时会自动故障转移。limit 是账户所在套餐下同一域名可共享的最大应用数:2(Standard)、5(Pro)、10(Enterprise)。限速为每个用户 20 次请求/60 秒。