Предельное число узлов
Чтобы пройти проверку схемы, все вызовы API GraphQL должны соответствовать следующим стандартам:
- Клиенты должны предоставлять аргумент
first
илиlast
для любого подключения. - Значения
first
иlast
должны находиться в пределах 1–100. - В отдельных вызовах не может запрашивать более 500 000 узлов.
Подсчет узлов в вызове
В этих двух примерах показано, как вычислить общее количество узлов в вызове.
-
Простой запрос:
query { viewer { repositories(first: 50) { edges { repository:node { name issues(first: 10) { totalCount edges { node { title bodyHTML } } } } } } } }
Расчет:
50 = 50 repositories + 50 x 10 = 500 repository issues = 550 total nodes
-
Сложный запрос:
query { viewer { repositories(first: 50) { edges { repository:node { name pullRequests(first: 20) { edges { pullRequest:node { title comments(first: 10) { edges { comment:node { bodyHTML } } } } } } issues(first: 20) { totalCount edges { issue:node { title bodyHTML comments(first: 10) { edges { comment:node { bodyHTML } } } } } } } } } followers(first: 10) { edges { follower:node { login } } } } }
Расчет:
50 = 50 repositories + 50 x 20 = 1,000 pullRequests + 50 x 20 x 10 = 10,000 pullRequest comments + 50 x 20 = 1,000 issues + 50 x 20 x 10 = 10,000 issue comments + 10 = 10 followers = 22,060 total nodes
Ограничение основной скорости
Ограничения скорости отключены по умолчанию для GitHub Enterprise Server. Обратитесь к администратору сайта, чтобы подтвердить ограничения скорости для вашего экземпляра.
Если вы являетесь администратором сайта, вы можете задать ограничения скорости для вашего экземпляра. Дополнительные сведения см. в разделе Настройка ограничений скорости.
Если вы разрабатываете приложение для пользователей или организаций за пределами вашего экземпляра, применяются стандартные ограничения скорости GitHub . Дополнительные сведения см. в разделе "Ограничения скорости и ограничения узлов для API GraphQL" в документации по GitHub Free.