Vì API Google Drive là một dịch vụ dùng chung, nên chúng tôi áp dụng hạn mức và giới hạn để đảm bảo rằng tất cả người dùng đều sử dụng dịch vụ này một cách công bằng và để bảo vệ hiệu suất tổng thể của hệ thống Google Workspace.
Thông báo được gửi đến địa chỉ đã chỉ định khi
mở kênh thông báo không tính vào hạn mức của bạn. Tuy nhiên,
các lệnh gọi đến phương thức changes.watch,
channels.stop và
files.watch sẽ tính vào
hạn mức của bạn.
Nếu vượt quá hạn mức, bạn sẽ nhận được phản hồi mã trạng thái 403: User rate limit
exceeded
HTTP. Các lượt kiểm tra hạn mức bổ sung trên phần phụ trợ của Drive cũng có thể tạo ra phản hồi 429: Too many
requests. Nếu điều này xảy ra, bạn nên sử dụng thuật toán thời gian đợi luỹ thừa và thử lại sau. Miễn là bạn duy trì trong hạn mức mỗi phút bên dưới, thì không có giới hạn về số lượng yêu cầu bạn có thể thực hiện mỗi ngày.
Bảng sau đây trình bày chi tiết về các giới hạn truy vấn:
| Hạn mức | |||||
|---|---|---|---|---|---|
| Cụm từ tìm kiếm |
|
||||
Khắc phục lỗi hạn mức dựa trên thời gian
Đối với tất cả các lỗi dựa trên thời gian (tối đa N yêu cầu mỗi X phút), bạn nên để mã của mình nắm bắt ngoại lệ và sử dụng thuật toán thời gian đợi luỹ thừa bị cắt ngắn để đảm bảo rằng thiết bị của bạn không tạo ra tải quá mức.
Thuật toán thời gian đợi luỹ thừa là một chiến lược xử lý lỗi tiêu chuẩn cho các ứng dụng mạng. Thuật toán thời gian đợi luỹ thừa thử lại các yêu cầu bằng cách tăng thời gian đợi theo cấp số nhân giữa các yêu cầu, tối đa là thời gian đợi luỹ thừa. Nếu các yêu cầu vẫn không thành công, thì điều quan trọng là độ trễ giữa các yêu cầu sẽ tăng theo thời gian cho đến khi yêu cầu thành công.
Thuật toán mẫu
Thuật toán thời gian đợi luỹ thừa thử lại các yêu cầu theo cấp số nhân, tăng thời gian đợi giữa các lần thử lại lên đến thời gian đợi luỹ thừa tối đa. Ví dụ:
- Đưa ra yêu cầu đối với API Google Drive.
- Nếu yêu cầu không thành công, hãy đợi 1 +
random_number_millisecondsrồi thử lại yêu cầu. - Nếu yêu cầu không thành công, hãy đợi 2 +
random_number_millisecondsrồi thử lại yêu cầu. - Nếu yêu cầu không thành công, hãy đợi 4 +
random_number_millisecondsrồi thử lại yêu cầu. - Và cứ như vậy, cho đến thời gian
maximum_backoff. - Tiếp tục đợi và thử lại cho đến một số lần thử lại tối đa, nhưng không tăng thời gian đợi giữa các lần thử lại.
trong đó:
- Thời gian đợi là
min(((2^n)+random_number_milliseconds), maximum_backoff), vớinđược tăng thêm 1 cho mỗi lần lặp (yêu cầu). random_number_millisecondslà một số mili giây ngẫu nhiên nhỏ hơn hoặc bằng 1.000. Điều này giúp tránh các trường hợp nhiều ứng dụng đồng bộ hoá bởi một tình huống và tất cả đều thử lại cùng một lúc, gửi yêu cầu theo sóng đồng bộ hoá. Giá trị củarandom_number_millisecondsđược tính toán lại sau mỗi yêu cầu thử lại.maximum_backoffthường là 32 hoặc 64 giây. Giá trị thích hợp phụ thuộc vào trường hợp sử dụng.
Ứng dụng có thể tiếp tục thử lại sau khi đạt đến thời gian maximum_backoff.
Các lần thử lại sau thời điểm này không cần tiếp tục tăng thời gian đợi luỹ thừa. Ví
dụ: nếu một ứng dụng sử dụng thời gian maximum_backoff là 64 giây, thì sau khi đạt đến
giá trị này, ứng dụng có thể thử lại sau mỗi 64 giây. Tại một thời điểm nào đó,
bạn nên ngăn ứng dụng thử lại vô thời hạn.
Thời gian đợi giữa các lần thử lại và số lần thử lại phụ thuộc vào trường hợp sử dụng và điều kiện mạng của bạn.
Giá
Bạn có thể sử dụng API Google Drive mà không phải trả thêm phí. Việc vượt quá giới hạn yêu cầu hạn mức không phát sinh thêm phí và tài khoản của bạn không bị tính phí.
Yêu cầu tăng hạn mức
Tuỳ thuộc vào mức sử dụng tài nguyên của dự án, bạn có thể muốn yêu cầu điều chỉnh hạn mức. Các lệnh gọi API của tài khoản dịch vụ được coi là sử dụng một tài khoản duy nhất. Việc đăng ký hạn mức đã điều chỉnh không đảm bảo được phê duyệt. Các yêu cầu điều chỉnh hạn mức làm tăng đáng kể giá trị hạn mức có thể mất nhiều thời gian hơn để được phê duyệt.
Không phải dự án nào cũng có cùng hạn mức. Khi bạn ngày càng sử dụng Google Cloud theo thời gian, giá trị hạn mức có thể cần tăng lên. Nếu dự kiến mức sử dụng sẽ tăng đáng kể trong tương lai, bạn có thể chủ động yêu cầu điều chỉnh hạn mức trên trang Hạn mức trong bảng điều khiển Google Cloud.
Để tìm hiểu thêm, hãy xem các tài nguyên sau:
- Giới thiệu về việc điều chỉnh hạn mức
- Xem mức sử dụng và giới hạn hạn mức hiện tại
- Yêu cầu tăng hạn mức