Hạn mức sử dụng

Vì API Google Drive là một dịch vụ dùng chung nên chúng tôi áp dụng các hạn mức và giới hạn để đảm bảo tất cả người dùng đều sử dụng API này một cách công bằng, đồng thời bảo vệ hiệu suất chung của hệ thống Google Workspace.

Các thông báo được gửi đến địa chỉ đã chỉ định khi mở kênh thông báo sẽ không được tính vào giới hạn 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.stopfiles.watch sẽ được 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 HTTP 403: User rate limit exceeded. Các chế độ kiểm tra giới hạn tố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. Nếu bạn không vượt quá hạn mức mỗi phút dưới đây, thì sẽ không có giới hạn nào 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ề giới hạn truy vấn:

Hạn mức
Cụm từ tìm kiếm
Mỗi 60 giây 12.000
Mỗi 60 giây/người dùng 12.000

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 theo thời gian (tối đa N yêu cầu trong mỗi X phút), mã của bạn nên phát hiện ngoại lệ và sử dụng thời gian đợi luỹ thừa bị cắt bớt để đảm bảo thiết bị không tạo ra quá tải.

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. Một thuật toán thời gian đợi luỹ thừa sẽ thử lại các yêu cầu bằng cách dùng thời gian chờ tăng theo cấp số nhân giữa các yêu cầu, cho đến thời gian đợi tối đ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 sẽ thử lại các yêu cầu theo cấp số nhân, tăng thời gian chờ giữa các lần thử lại cho tới thời gian đợi tối đa. Ví dụ:

  1. Gửi yêu cầu đến API Google Drive.
  2. Nếu yêu cầu không thành công, hãy đợi 1 + random_number_milliseconds rồi thử lại yêu cầu.
  3. Nếu yêu cầu không thành công, hãy đợi 2 + random_number_milliseconds rồi thử lại yêu cầu.
  4. Nếu yêu cầu không thành công, hãy đợi 4 + random_number_milliseconds rồi thử lại yêu cầu.
  5. Và cứ tiếp tục như vậy, tối đa là maximum_backoff lần.
  6. Tiếp tục đợi và thử lại cho đến số lần thử lại tối đa, nhưng không làm tăng thời gian chờ giữa các lần thử lại.

trong đó:

  • Thời gian chờ là min(((2^n)+random_number_milliseconds), maximum_backoff), trong đó n tăng thêm 1 cho mỗi lần lặp lại (yêu cầu).
  • random_number_milliseconds là 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 trường hợp có nhiều ứng dụng được đồng bộ hoá trong một số tình huống và tất cả đều thử lại cùng một lúc, gửi yêu cầu trong các sóng đã đồng bộ hoá. Giá trị của random_number_milliseconds sẽ được tính toán lại sau mỗi lần yêu cầu thử lại.
  • maximum_backoff thường có thời lượng 32 hoặc 64 giây. Giá trị thích hợp tuỳ 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 hết 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. Ví dụ: nếu 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 số thời điểm, bạn nên ngăn ứng dụng thử lại vô thời hạn.

Thời gian chờ 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.

Giá

Mọi hoạt động sử dụng API Google Drive đều không mất thêm phí. Nếu vượt quá hạn mức yêu cầu, bạn sẽ không bị tính thêm phí và tài khoản của bạn sẽ 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ể yêu cầu tăng hạn mức. Các lệnh gọi API thông qua 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ý tăng hạn mức không đảm bảo rằng ứng dụng của bạn sẽ được phê duyệt. Quá trình phê duyệt hạn mức lớn có thể mất nhiều thời gian hơn.

Không phải dự án nào cũng có cùng hạn mức. Khi ngày càng sử dụng Google Cloud theo thời gian, hạn mức của bạn có thể cần tăng lên. Nếu dự kiến mức sử dụng sẽ gia tăng đáng kể trong thời gian tới, 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: