사용량 한도

Google Sheets API는 공유 서비스이므로 할당량과 한도가 적용됩니다. 모든 사용자가 공정하게 사용하도록 하고 Google Workspace 시스템의 상태를 관리할 수 있습니다

할당량 한도

Sheets API에는 API 요청에 대해 엄격한 크기 제한이 없지만, Sheets에서 제어할 수 없는 여러 처리 구성요소로 인해 제한이 발생할 수도 있습니다. 요청 속도를 높이려면 최대 페이로드 용량은 2MB로 설정하는 것이 좋습니다.

Sheets API에는 분당 할당량이 있으며 1분마다 다시 채워집니다. 예를 들어 읽기 요청은 프로젝트별로 분당 300회로 제한됩니다. 앱이 1분에 350개의 요청을 보내면 추가로 50개의 요청이 할당량을 초과하여 429: Too many requests HTTP 상태 코드 응답입니다. 이 경우 지수 백오프 알고리즘을 학습할 수 있습니다. 1분 후에 요청을 다시 실행할 수 있습니다 사용자는 할당량 한도 내에서 여러 개의 요청을 동시에 제출할 수 있습니다.

모든 Sheets 요청은 원자적으로 적용됩니다. 즉, 유효하지 않은 요청이 있으면 전체 업데이트가 실패하고 종속될 수 있는 변경사항이 적용되지 않습니다.

<ph type="x-smartling-placeholder">

다음 표에서는 요청 한도를 자세히 설명합니다. 분당 할당량 내에 머무르면 하루에 요청할 수 있는 횟수를 제한합니다.

할당량
읽기 요청
프로젝트별 분당 할당량 300
프로젝트별 사용자당 분당 할당량 60
쓰기 요청
프로젝트별 분당 할당량 300
프로젝트별 사용자당 분당 할당량 60
<ph type="x-smartling-placeholder">

파일 한도에 관한 자세한 내용은 Google Drive에 저장할 수 있는 파일을 참고하세요.

시간 기반 할당량 오류 해결

모든 시간 기반 오류 (X분당 최대 N개의 요청)의 경우 코드가 예외를 포착하고 잘린 지수 백오프를 사용하여 기기에서 과도한 부하를 생성하지 않습니다.

지수 백오프는 네트워크 애플리케이션의 표준 오류 처리 전략입니다. 지수 백오프 알고리즘으로 기하급수적으로 증가하는 대기 시간을 사용하여 요청 재시도 최대 백오프 시간까지 줄일 수 있습니다. 그래도 요청이 실패하면 요청이 성공할 때까지 요청 간 지연이 시간이 지남에 따라 증가한다는 것이 중요합니다.

예시 알고리즘

지수 백오프 알고리즘으로 기하급수적으로 요청을 재시도하여 대기 시간 증가 최대 백오프 시간까지 재시도할 수 있습니다. 예를 들면 다음과 같습니다.

  1. Google Sheets API에 요청합니다.
  2. 요청이 실패하면 1 + random_number_milliseconds를 대기한 후 재시도합니다. 요청을 처리합니다
  3. 요청이 실패하면 2+random_number_milliseconds를 대기한 후 재시도합니다. 요청을 처리합니다
  4. 요청이 실패하면 4 + random_number_milliseconds를 대기한 후 재시도합니다. 요청을 처리합니다
  5. maximum_backoff 시간까지 이를 반복합니다.
  6. 최대 재시도 횟수까지 계속 대기하고 재시도하되 대기 시간을 늘리지 않습니다. 최대 24시간이 필요합니다.

각 항목의 의미는 다음과 같습니다.

  • 대기 시간은 min(((2^n)+random_number_milliseconds), maximum_backoff)입니다. 반복 (요청)할 때마다 n가 1씩 증가합니다.
  • random_number_milliseconds는 다음보다 작은 밀리초 단위의 임의 숫자입니다. 1,000과 같습니다. 이렇게 하면 많은 클라이언트가 서로 다른 클라이언트 간에 한 번에 재시도하고 요청을 동기화된 상태로 있습니다. random_number_milliseconds의 값은 다음 값이 될 때마다 다시 계산됩니다. 재시도 요청
  • maximum_backoff는 일반적으로 32 또는 64초입니다. 적절한 값 사용 사례에 따라 다릅니다

클라이언트는 maximum_backoff 시간에 도달한 후 재시도를 계속할 수 있습니다. 이후 재시도는 백오프 시간을 계속 늘릴 필요가 없습니다. 대상 예를 들어 클라이언트가 64초의 maximum_backoff 시간을 사용하는 경우 클라이언트는 64초마다 재시도할 수 있습니다. 언젠가는, 무제한 재시도를 방지해야 합니다

재시도 간 대기 시간과 재시도 횟수는 사용 사례에 따라 다릅니다. 네트워크 상태를 모니터링할 수 있습니다

가격 책정

추가 비용 없이 Google Sheets API는 모두 사용할 수 있습니다. 할당량 초과 요청 한도는 추가 요금이 발생하지 않으며 계정에 요금이 청구되지 않습니다.

할당량 상향 조정 요청

프로젝트의 리소스 사용량에 따라 할당량을 요청할 수 있음 증가할 수도 있습니다 서비스 계정에 의한 API 호출은 단일 계정으로 액세스할 수 있습니다. 할당량 상향을 신청해도 승인이 보장되는 것은 아닙니다. L 사이즈 할당량 상향 조정 승인에 시간이 더 걸릴 수 있습니다.

모든 프로젝트의 할당량이 동일하지는 않습니다. Google Cloud를 점점 더 많이 사용함에 따라 할당량을 늘려야 할 수도 있습니다 앞으로 주목할 만한 사용량이 늘어나더라도 할당량 조정을 요청하고 할당량 페이지에서 Google Cloud 콘솔에서 확인할 수 있습니다

자세한 내용은 다음 리소스를 참고하세요.