Google Drive API는 공유 서비스이므로 모든 사용자가 공정하게 사용하고 Google Workspace 시스템의 전반적인 성능을 보호하기 위해 할당량과 제한사항을 적용합니다.
알림 채널을 열 때 지정된 주소로 전송되는 알림은 할당량 한도에 포함되지 않습니다. 하지만
changes.watch,
channels.stop, 및
files.watch 메서드 호출은
할당량에 포함됩니다.
할당량을 초과하면 403: User rate limit
exceeded
HTTP 상태 코드 응답이 표시됩니다. Drive 백엔드에서 추가 속도 제한 검사를 실행하면 429: Too many
requests
응답이 생성될 수도 있습니다. 이 경우 지수 백오프
알고리즘을 사용하고 나중에 다시 시도해야 합니다. 아래의 분당 할당량을 초과하지 않는 한 하루에 요청할 수 있는 횟수는 제한이 없습니다.
다음 표에는 쿼리 한도가 자세히 설명되어 있습니다.
| 할당량 | |||||
|---|---|---|---|---|---|
| 쿼리 |
|
||||
시간 기반 할당량 오류 해결
모든 시간 기반 오류 (X분당 최대 N개의 요청)의 경우 코드가 예외를 포착하고 잘린 지수 백오프 를 사용하여 기기에서 과도한 부하가 발생하지 않도록 하는 것이 좋습니다.
지수 백오프는 네트워크 애플리케이션의 표준 오류 처리 전략입니다. 지수 백오프 알고리즘은 요청 간 대기 시간을 기하급수적으로 늘려 최대 백오프 시간까지 요청을 재시도합니다. 요청이 계속 실패하는 경우 요청이 성공할 때까지 시간이 지남에 따라 요청 간 지연 시간이 늘어나는 것이 중요합니다.
예시 알고리즘
지수 백오프 알고리즘이 재시도 간 대기 시간을 최대 백오프 시간까지 늘려서 기하급수적으로 요청을 재시도합니다. 예를 들면 다음과 같습니다.
- Google Drive API에 요청합니다.
- 요청이 실패하면 1 +
random_number_milliseconds를 기다린 후 요청을 재시도합니다. - 요청이 실패하면 2 +
random_number_milliseconds를 기다린 후 요청을 재시도합니다. - 요청이 실패하면 4 +
random_number_milliseconds를 기다린 후 요청을 재시도합니다. maximum_backoff시간까지 이를 반복합니다.- 최대 재시도 횟수까지 계속 기다리고 재시도하되 재시도 간 대기 시간은 늘리지 않습니다.
각 항목의 의미는 다음과 같습니다.
- 대기 시간은
min(((2^n)+random_number_milliseconds), maximum_backoff), 이며,n은 각 반복 (요청)마다 1씩 증가합니다. random_number_milliseconds는 1,000 이하의 임의 밀리초 수입니다. 이렇게 하면 일부 상황으로 인해 많은 클라이언트가 동기화되고 모두 한 번에 재시도하여 동기화된 파형으로 요청을 전송하는 경우를 방지할 수 있습니다.random_number_milliseconds값은 각 재시도 요청 후에 다시 계산됩니다.maximum_backoff는 일반적으로 32 또는 64초입니다. 적절한 값 은 사용 사례에 따라 다릅니다.
클라이언트는 maximum_backoff 시간에 도달한 후 재시도를 계속할 수 있습니다.
이후 재시도는 백오프 시간을 계속 늘릴 필요가 없습니다. 예를 들어 클라이언트가 maximum_backoff 시간을 64초로 사용하는 경우 이 값에 도달한 후 클라이언트는 64초마다 재시도할 수 있습니다. 어느 시점에서
클라이언트가 무기한 재시도하지 못하도록 해야 합니다.
재시도 간 대기 시간과 재시도 횟수는 사용 사례 와 네트워크 상태에 따라 다릅니다.
가격 책정
Google Drive API는 모두 무료로 사용할 수 있습니다. 할당량 요청 한도를 초과해도 추가 요금이 발생하지 않으며 계정에 요금이 청구되지 않습니다.
할당량 상향 조정 요청
프로젝트의 리소스 사용량에 따라 할당량 조정을 요청할 수 있습니다. 서비스 계정의 API 호출은 단일 계정을 사용하는 것으로 간주됩니다. 할당량 조정을 신청해도 승인된다고 보장할 수 없습니다. 할당량 조정 요청은 할당량 값을 크게 늘릴 경우 승인에 더 오랜 시간이 걸릴 수 있습니다.
모든 프로젝트의 할당량이 동일하지는 않습니다. 시간에 따라 Google Cloud 사용이 늘어나면 할당량 값을 늘려야 할 수도 있습니다. 앞으로 사용량이 현저하게 늘어날 것으로 예상되는 경우 사전에 할당량 조정을 요청할 수 있습니다. Google Cloud 콘솔의 할당량 페이지 에서
자세한 내용은 다음 리소스를 참고하세요.