← Analytics / analytics / graphql-api
Chybové odpovědi
GraphQL Analytics API je rozhraní RESTful API založené na požadavcích HTTPS a odpovědích ve formátu JSON a vrací běžné stavové kódy HTTP (například 404, 500, 504). Na rozdíl od běžného přístupu REST se 200 odpověď může obsahovat chybu, která odpovídá Specifikace GraphQL ↗.
Všechny odpovědi obsahují errors pole, které bude null pokud nedošlo k žádným chybám, a bude obsahovat alespoň jeden chybový objekt, pokud k chybě došlo. Chybové objekty, které nejsou null, budou obsahovat následující pole:
message: řetězec popisující chybu.path: uzly spojené s chybou, počínaje kořenem. Všimněte si, že číslo uvedené v poli path, například0nebo1, určuje, které zóny se chyba týká;0značí první zónu v seznamu (nebo jedinou zónu, pokud je dotazována pouze jedna).timestamp: Datum a čas v UTC, kdy k chybě došlo.
Příklad
{
"data": null,
"errors": [
{
"message": "cannot request data older than 2678400s",
"path": ["viewer", "zones", "0", "firewallEventsAdaptiveGroups"],
"extensions": {
"timestamp": "2019-12-09T21:27:19.195060142Z"
}
}
]
}Běžné typy chyb
Nedostupnost služby
Ukázkové chybové zprávy:
unable to execute query, please try again later(HTTP503)too many queries in progress, please try again later(HTTP503)
Tyto zprávy signalizují dočasný problém na straně serveru. První zpráva obvykle znamená, že upstreamová databáze je nedostupná nebo vrátila chybu. Druhá zpráva znamená, že server dosáhl maximálního počtu souběžných dotazů.
Požadavek zopakujte po krátké prodlevě. Pokud chyba přetrvává, zkontrolujte Stránka stavu Cloudflare ↗ pro probíhající incidenty.
Byly překročeny limity dostupnosti datové sady
Ukázkové chybové zprávy:
cannot request data older than...(HTTP400)number of fields can't be more than...(HTTP400)limit must be positive number and not greater than...(HTTP400)query time range is too large...(HTTP400)
Tyto zprávy signalizují, že dotaz překračuje limity povolené pro danou datovou sadu v rámci aktuálního plán ↗, a měli byste zvážit upgrade. Další informace najdete v Limity uzlů s podrobnostmi.
Problémy s parsováním
Ukázkové chybové zprávy:
error parsing args...(HTTP400)scalar fields must have no selections(HTTP400)object field must have selections(HTTP400)unknown field...(HTTP400)query contains error, please review it and retry(HTTP400)
Tyto zprávy signalizují, že dotaz nelze zpracovat, protože je chybně sestavený. Zkontrolujte syntaxi dotazu podle Schéma GraphQL a opravte neplatná pole nebo strukturu.
Překročení limitů frekvence požadavků
Ukázkové chybové zprávy:
rate limiter budget depleted, try again after 5 minutes(HTTP429)in combination, your request queries too many nodes, zones and accounts(HTTP429)query consumed excessive resources, please try running smaller queries which consume fewer resources(HTTP429)
Tyto zprávy signalizují, že dotaz překročil limity rychlosti nebo zdrojů. Snižte složitost dotazu, počet zón nebo účtů na požadavek, případně počkejte, než to zkusíte znovu. Více informací najdete v Limity sekci, kde najdete další podrobnosti o limitech rychlosti.
Chyby ověřování a autorizace
Ukázkové chybové zprávy:
Unauthorized(HTTP401)not authorized for that account(HTTP403)zones [...] are not authorized(HTTP403)does not have access to the path...(HTTP403)
Unauthorized odpověď znamená, že API token nebo bearer token chybí, jeho platnost vypršela nebo je neplatný. Ověřte, že předáváte platný token v Authorization hlavička.
A 403 odpověď znamená, že token nemá potřebná oprávnění pro požadovaný účet nebo zónu. Ověřte, že token má Analytics: Read oprávnění pro příslušné prostředky. Viz Tokeny sekci, kde najdete více informací.
Interní chyby serveru
Ukázková chybová zpráva:
Internal server error(HTTP500)
Toto je obecná chyba signalizující neočekávané selhání. Pokud přetrvává, kontaktujte Cloudflare Support ↗ s úplným požadavkem a odpovědí, včetně Ray-ID hlavičku z odpovědi HTTP.