本指南说明在从已弃用的 httpRequests1mByColoGroups 与 httpRequests1dByColoGroups GraphQL API 节点迁移到 httpRequestsAdaptiveGroups GraphQL API 节点时的注意事项。
例如,若要查看过去请求数最多的五个数据中心、这些请求的总数以及总数据传输量,以前会使用 httpRequests1mByColoGroups GraphQL API 节点,如下例所示:
{
viewer {
zones(filter: { zoneTag: $zoneTag }) {
series: httpRequests1mByColoGroups(
limit: 5
orderBy: [sum_requests_DESC]
filter: { datetime_geq: $start, datetime_lt: $end }
) {
sum {
requests
bytes
}
dimensions {
coloCode
}
}
}
}
}响应
{
"data": {
"viewer": {
"zones": [
{
"series": [
{
"dimensions": {
"coloCode": "LHR"
},
"sum": {
"bytes": 18260055,
"requests": 4404
}
},
{
"dimensions": {
"coloCode": "AMS"
},
"sum": {
"bytes": 17563009,
"requests": 4302
}
},
{
"dimensions": {
"coloCode": "CDG"
},
"sum": {
"bytes": 17200434,
"requests": 4032
}
},
{
"dimensions": {
"coloCode": "PTY"
},
"sum": {
"bytes": 10400209,
"requests": 2707
}
},
{
"dimensions": {
"coloCode": "JIB"
},
"sum": {
"bytes": 9040105,
"requests": 2601
}
}
]
}
]
}
},
"errors": null
}随着 httpRequests1mByColoGroups 与 httpRequests1dByColoGroups GraphQL API 节点的弃用,请使用 httpRequestsAdaptiveGroups GraphQL API 节点访问相同数据(count、sum(edgeResponseBytes) 与 visits)。
请求
query MigrationSample($zoneTag: string, $start: Time, $end: Time) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
series: httpRequestsAdaptiveGroups(
limit: 5
orderBy: [count_DESC]
filter: {
datetime_geq: $start
datetime_lt: $end
requestSource: "eyeball"
}
) {
count
avg {
sampleInterval
}
sum {
visits
edgeResponseBytes
}
dimensions {
coloCode
}
}
}
}
}响应
{
"data": {
"viewer": {
"zones": [
{
"series": [
{
"avg": {
"sampleInterval": 10
},
"count": 4350,
"dimensions": {
"coloCode": "LHR"
},
"sum": {
"edgeResponseBytes": 17860000,
"visits": 4120
}
},
{
"avg": {
"sampleInterval": 10
},
"count": 4210,
"dimensions": {
"coloCode": "AMS"
},
"sum": {
"edgeResponseBytes": 17110000,
"visits": 3910
}
},
{
"avg": {
"sampleInterval": 10
},
"count": 3890,
"dimensions": {
"coloCode": "CDG"
},
"sum": {
"edgeResponseBytes": 17050000,
"visits": 3700
}
},
{
"avg": {
"sampleInterval": 10
},
"count": 2550,
"dimensions": {
"coloCode": "PTY"
},
"sum": {
"edgeResponseBytes": 10286000,
"visits": 2130
}
},
{
"avg": {
"sampleInterval": 10
},
"count": 2410,
"dimensions": {
"coloCode": "JIB"
},
"sum": {
"edgeResponseBytes": 9029000,
"visits": 2080
}
}
]
}
]
}
},
"errors": null
}该查询表示:
- 在给定的
zones、limit与time range条件下。 - 获取每个数据中心的请求总数(作为
count)、总数据传输量(作为sum对象的edgeResponseBytes),以及visits总数。
注意事项:
- 为
eyeball添加requestSource筛选器,仅返回有关网站最终用户的请求、数据传输与访问数据。 - 与
requests不同,httpRequestsAdaptiveGroups节点报告count,表示每个数据中心的请求数。 - 要衡量数据传输,请使用
sum(edgeResponseBytes)。请注意,旧 API 中将其称为bandwidth,尽管它实际衡量的是数据传输。 httpRequestsAdaptiveGroups不支持unique visitors per colocation,但支持visits。访问(visit)定义为来自其他网站或直接链接的页面浏览。Cloudflare 会检查 HTTP referer 是否与主机名不匹配。一次访问可由多个页面浏览组成。