{"meta":{"title":"Limites de taxas e limites de consultas para a API GraphQL","intro":"A API GraphQL GitHub tem limitações estabelecidas para proteger os servidores de GitHub contra chamadas excessivas ou abusivas.","product":"API GraphQL","breadcrumbs":[{"href":"/pt/enterprise-server@3.22/graphql","title":"API GraphQL"},{"href":"/pt/enterprise-server@3.22/graphql/overview","title":"Visão geral"},{"href":"/pt/enterprise-server@3.22/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api","title":"Limites de taxa e de consulta"}],"documentType":"article"},"body":"# Limites de taxas e limites de consultas para a API GraphQL\n\nA API GraphQL GitHub tem limitações estabelecidas para proteger os servidores de GitHub contra chamadas excessivas ou abusivas.\n\n## Limite da taxa primária\n\nOs limites de taxa são desabilitados por padrão para GitHub Enterprise Server. Fale com o administrador do site para confirmar os limites de velocidade da sua instância.\n\nSe você for um administrador de site, poderá definir limites de taxa para a sua instância. Para saber mais, confira [Como configurar limites de taxa](/pt/enterprise-server@3.22/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-rate-limits).\n\nSe você estiver desenvolvendo um aplicativo para usuários ou organizações fora de sua instância, os limites de taxa padrão GitHub se aplicam. Para obter mais informações, consulte [Limites de taxas e limites de consultas para a API GraphQL](/pt/graphql/overview/rate-limits-and-query-limits-for-the-graphql-api) na GitHub Free documentação.\n\n## Limite do nó\n\nPara passar na validação do [schema](/pt/enterprise-server@3.22/graphql/guides/introduction-to-graphql#schema), todas as chamadas de API do GraphQL devem atender a estes padrões:\n\n* Os clientes devem fornecer um argumento `first` ou `last` em qualquer [conexão](/pt/enterprise-server@3.22/graphql/guides/introduction-to-graphql#connection).\n* Os valores de `first`e `last` precisam estar entre 1 e 100.\n* As chamadas individuais não podem solicitar mais de 500 mil [nós](/pt/enterprise-server@3.22/graphql/guides/introduction-to-graphql#node) no total.\n\n### Calculando os nós em uma chamada\n\nEstes dois exemplos mostram como calcular os nós totais em uma chamada.\n\n1. Consulta simples:\n\n   <pre>query {\n     viewer {\n       repositories(first: <span class=\"redbox\">50</span>) {\n\nedges {\nrepository:node {\nname\n\nissues(first: <span class=\"greenbox\">10</span>) {\ntotalCount\nedges {\nnode {\ntitle\nbodyHTML\n}\n}\n}\n}\n}\n}\n}\n}</pre>\n\nCálculo:\n\n   <pre><span class=\"redbox\">50</span>         = 50 repositories\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">10</span>  = 500 repository issues\n\n= 550 total nodes</pre>\n\n1. Consulta complexa:\n\n   <pre>query {\n     viewer {\n       repositories(first: <span class=\"redbox\">50</span>) {\n\nedges {\nrepository:node {\nname\n\npullRequests(first: <span class=\"greenbox\">20</span>) {\nedges {\npullRequest:node {\ntitle\n\ncomments(first: <span class=\"bluebox\">10</span>) {\nedges {\ncomment:node {\nbodyHTML\n}\n}\n}\n}\n}\n}\n\nissues(first: <span class=\"greenbox\">20</span>) {\ntotalCount\nedges {\nissue:node {\ntitle\nbodyHTML\n\ncomments(first: <span class=\"bluebox\">10</span>) {\nedges {\ncomment:node {\nbodyHTML\n}\n}\n}\n}\n}\n}\n}\n}\n}\n\n```\n   followers(first: <span class=\"bluebox\">10</span>) {\n```\n\nedges {\nfollower:node {\nlogin\n}\n}\n}\n}\n}</code></pre>\n\nCálculo:\n\n   <pre><span class=\"redbox\">50</span>              = 50 repositories\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">20</span>       = 1,000 pullRequests\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">20</span> x <span class=\"bluebox\">10</span> = 10,000 pullRequest comments\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">20</span>       = 1,000 issues\n    +\n   <span class=\"redbox\">50</span> x <span class=\"greenbox\">20</span> x <span class=\"bluebox\">10</span> = 10,000 issue comments\n    +\n   <span class=\"bluebox\">10</span>              = 10 followers\n\n= 22,060 total nodes</pre>\n\n## Estratégias de otimização de consulta\n\n* **Limitar o número de objetos**: use valores menores para argumentos `first` ou `last` e paginar pelos resultados.\n* **Reduzir a profundidade da consulta**: evite solicitar objetos profundamente aninhados, a menos que necessário.\n* **Resultados do filtro**: use argumentos para filtrar dados e retornar apenas o que você precisa.\n* **Dividir consultas grandes**: divida consultas complexas em várias consultas mais simples.\n* **Solicitar apenas os campos necessários**: selecione apenas os campos de que você precisa, em vez de solicitar todos os campos disponíveis.\n\nSeguindo essas estratégias, você pode reduzir a probabilidade de atingir os limites de recursos e melhorar o desempenho e a confiabilidade de suas solicitações de API."}