Skip to main content

GraphQL API에 대한 트래픽률 제한 및 노드 제한

GitHubGraphQL API에는 GitHub의 서버에 대한 과도한 또는 악의적인 호출로부터 보호하기 위한 제한 사항이 있습니다.

노드 제한

스키마 유효성 검사를 통과하려면 모든 GraphQL API 호출이 다음 표준을 충족해야 합니다.

  • 클라이언트는 모든 연결에서 first 또는 last 인수를 제공해야 합니다.
  • firstlast의 값은 1~100 이내여야 합니다.
  • 개별 호출은 총 500,000개를 초과하는 노드를 요청할 수 없습니다.

호출에서 노드 계산

이 두 예제에서는 호출에서 총 노드를 계산하는 방법을 보여 줍니다.

  1. 단순 쿼리:

    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
  2. 복합 쿼리:

    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 트래픽률 제한이 적용됩니다. 자세한 내용은 GitHub Free 설명서의 GraphQL API에 대한 트래픽률 제한 및 노드 제한을(를) 참조하세요.