← Analytics / analytics / graphql-api
Omezování frekvence požadavků podle účtu
Ve výchozím nastavení uplatňuje GraphQL Analytics API limity rychlosti za uživatele nebo za token rozhraní API. Jak rostete a přidáváte další zóny a účty, veškerý váš analytický provoz soutěží o tuto jedinou kvótu vázanou na přihlašovací údaje.
Omezování frekvence požadavků podle účtu místo toho uplatňuje limity zvlášť pro každý účet a zónu. Každý účet a zóna má svůj vlastní nezávislý rozpočet, takže jeden uživatel nebo token může dotazovat mnoho prostředků najednou, aniž by vyčerpal jedinou sdílenou kvótu. Tento postup doporučujeme, pokud dotazujete analytická data napříč více zónami nebo účty.
Přínosy
- Škáluje se podle rozsahu vašeho nasazení. Propustnost roste s počtem účtů a zón, které dotazujete, místo aby byla omezena jediným limitem na jeden token.
- Vyšší kvóty pro plán Enterprise. Zákazníci s plánem Enterprise mají standardně vyšší kvóty, a to 15 rps na účet a 10 rps na zónu.
- Snadné navyšování limitů. Potřebujete větší rezervu? Ozvěte se nám, rádi vaše limity podle potřeby navýšíme.
Povolení omezování rychlosti podle účtu
S požadavky na stávající koncový bod rozhraní
GraphQL API odesílejte následující hlavičku HTTP (https://api.cloudflare.com/client/v4/graphql):
X-Rate-Limit-Type: account-basedURL adresa koncového bodu a přihlašovací údaje zůstávají stejné. Požadavky bez této hlavičky nadále používají výchozí limity za uživatele nebo za token, takže tuto změnu můžete zavádět postupně.
Limity
| Rozsah | Výchozí limit |
|---|---|
| Každý účet | 1 požadavek za sekundu (300 požadavků za 5minutové okno) |
| Každá zóna | 1 požadavek za sekundu (300 požadavků za 5minutové okno) |
Jediný accounts blok počítá jeden požadavek vůči odkazovanému účtu.
Jediný zones blok počítá jeden požadavek vůči odkazované zóně; pokud je
zones blok je vnořen do accounts blok, počítá se namísto toho vůči
tomuto účtu.
Protože limity platí pro každý prostředek zvlášť, celková propustnost dostupná jednomu uživateli nebo tokenu roste s počtem účtů a zón, které dotazujete.
Požadavky na dotazování
Většina dotazů funguje beze změny. Pouze dotazy, které vybírají seznam nebo rozsah zón
nahoře (viewer) je třeba upravit: tyto zóny vnořte do
jednoho accounts blok. Upravené dotazy jsou platné v rámci obě modely omezování
rychlosti.
Dotazování jedné zóny (beze změny):
{
viewer {
zones(filter: { zoneTag: "<ZONE_TAG>" }) {
# ...
}
}
}Dotazování jednoho účtu (beze změny):
{
viewer {
accounts(filter: { accountTag: "<ACCOUNT_TAG>" }) {
# ...
}
}
}Dotazování seznamu nebo rozsahu zón (vnořte je do nadřazeného účtu):
# Not supported: a list of zones at the viewer level
{
viewer {
zones(filter: { zoneTag_in: ["<ZONE_A>", "<ZONE_B>"] }) {
# ...
}
}
}
# Supported: the same zones nested inside their account
{
viewer {
accounts(filter: { accountTag: "<ACCOUNT_TAG>" }) {
zones(filter: { zoneTag_in: ["<ZONE_A>", "<ZONE_B>"] }) {
# ...
}
}
}
}Totéž platí pro rozsahové filtry, jako je zoneTag_gt. Sémantika dotazu je
totožná: potřebujete pouze account tag vlastnící zóny, který již
máte.
Požádejte o vyšší limity
Pokud potřebujete vyšší než výchozí propustnost na účet nebo na zónu, kontaktujte svůj Cloudflare account team a požádejte o navýšení pro konkrétní účty a zóny, které dotazujete. Navýšení se v tomto modelu uplatňuje podle jednotlivých prostředků a projeví se rychle, bez nutnosti vydání nové verze.
Chyby omezení frekvence požadavků
Když je limit překročen, API vrátí chybu s extensions.code nastaveno na
budget, s uvedením účtu nebo zóny, které byly omezeny:
{
"data": null,
"errors": [
{
"extensions": { "code": "budget", "timestamp": "2026-01-01T01:01:01Z" },
"message": "Account <ACCOUNT_TAG> has exceeded its rate limit. Please try again after 5 minutes. Refer to this page for more details about rate limits: https://developers.cloudflare.com/analytics/graphql-api/limits/",
"path": null
}
]
}Odpovídající chyba zóny hlásí Zone <ZONE_TAG> has exceeded its rate limit.
Zkuste to znovu po uplynutí 5minutového okna, rozložte provoz mezi více prostředků nebo
požádejte o vyšší limit.