Device Access dự án bị hạn chế theo giới hạn về người dùng, cấu trúc và số lượng, tuỳ thuộc vào môi trường và loại dịch vụ Thương mại.
Chúng tôi muốn nhà phát triển tạo ra trải nghiệm người dùng hấp dẫn, nhưng chúng tôi cũng muốn Người dùng có thể sử dụng các thiết bị và dịch vụ Nest. Các công cụ tích hợp mà thực hiện một số lượng lớn yêu cầu trong một khoảng thời gian nhất định có thể ảnh hưởng đến dịch vụ và thiết bị được cung cấp, vì vậy API SDM sẽ áp dụng giới hạn số lượng yêu cầu. Giới hạn số lượng yêu cầu hạn chế số lượng lệnh gọi API trong một khoảng thời gian nhất định và ngăn chặn việc sử dụng tài nguyên quá mức.
Giới hạn theo môi trường
Tất cả dự án đều bắt đầu trong môi trường Hộp cát . Hộp cát là nhằm mục đích đánh giá API SDM và mục đích sử dụng cá nhân, và bị hạn chế tương ứng. Các môi trường có cơ sở người dùng lớn hơn, chẳng hạn như Phát triển thương mại có các giới hạn khác nhau.
Giới hạn người dùng trong Hộp cát
Tài khoản nhà phát triển trong Hộp cát chỉ dành cho 25 người dùng trên 5 trong tất cả các dự án. Mỗi tài khoản chỉ được có tối đa 3 dự án.
Mỗi cấu trúc chỉ được có tối đa 5 người dùng nên sẽ chỉ đạt giới hạn số người dùng khi tất cả 5 cấu trúc được đạt đến mức tối đa, mỗi cấu trúc có 5 người dùng. Tài khoản nhà phát triển (sở hữu dự án) không tính vào giới hạn 5 người dùng cho một cấu trúc.
Ngược lại, nếu một dự án có 15 người dùng trong 5 cấu trúc, thì những người dùng khác có thể chỉ được thêm vào 5 cấu trúc hiện có, do giới hạn cấu trúc đã đã đạt đến giới hạn.
Giới hạn số lượng yêu cầu của hộp cát
Hộp cát bị giới hạn tốc độ ở 3 cấp độ. Giới hạn được đặt ở truy vấn mỗi phút (QPM) trừ phi có ghi chú khác.
Cấp độ API
Lệnh gọi API bị giới hạn theo dự án, mỗi người dùng. Xem API Tham khảo để biết thêm thông tin về từng .
Phương thức API | Giới hạn số lần yêu cầu |
---|---|
devices.executeCommand |
10 QPM |
devices.get |
10 QPM |
devices.list |
5 QPM |
structures.get |
5 QPM |
structures.list |
5 QPM |
structures.rooms.get |
5 QPM |
structures.rooms.list |
5 QPM |
Cấp lệnh
Mỗi lệnh trait (devices.executeCommand
) bị giới hạn ở 5 QPM cho mỗi dự án,
trên mỗi người dùng, mỗi thiết bị.
Tức là nếu một dự án có 2 người dùng và mỗi người dùng có 2 thiết bị (tổng cộng 4 thiết bị), thì cùng một lệnh có thể được gọi 5 lần trong một phút cho mỗi thiết bị trong số 4 thiết bị đó.
Tuy nhiên, nếu một dự án có 2 người dùng với 3 thiết bị, mỗi người dùng có tổng cộng 6 thiết bị, thì giá trị này
không thể gọi cùng một lệnh 5 lần trong một phút cho mỗi lần trong 6 lệnh đó
thiết bị. Điều này sẽ dẫn đến 15 QPM cho mỗi người dùng, khi
devices.executeCommand
Giới hạn số lượng cấp độ API cho người dùng của dự án là 10 QPM.
Cấp phiên bản thiết bị
Ngoài ra, giới hạn ở cấp phiên bản thiết bị được triển khai trên các dự án và
(devices.executeCommand
) để bảo vệ pin của thiết bị. Các giới hạn này
được áp dụng ở cả mức QPM và truy vấn mỗi giờ (QPH) và không áp dụng
cho các phương thức API get
và list
.
Ví dụ: giả sử Dự án A và Dự án B đều có quyền truy cập vào cùng một là Thiết bị A (có thể người dùng đã cấp phép cho hai ứng dụng các công cụ tích hợp sử dụng cùng một thiết bị). Nếu Dự án A đã gửi 4 lệnh đến Thiết bị A trong vòng một phút thì Dự án B chỉ có thể gửi 1 lệnh đến Thiết bị A sau cùng phút đó trước khi đạt đến giới hạn tốc độ ở cấp thực thể thiết bị. Lúc đó nên các lệnh từ cả hai Dự án đến Thiết bị A đều bị điều tiết cho đến cuối phút bắt đầu bằng lệnh đầu tiên đến Thiết bị A.
Nếu một loại thiết bị không có trong danh sách dưới đây, thì tức là thiết bị không có cấp phiên bản giới hạn số lượng yêu cầu.
Loại thiết bị | Giới hạn số lần yêu cầu đối với phiên bản thiết bị |
---|---|
MÁY ĐIỀU NHIỆT | 5 QPM hoặc 100 QPH |
MÁY ẢNH | 30 QPM hoặc 100 QPH |
DOORBELL | 30 QPM hoặc 100 QPH |
Lỗi
(Các) mã lỗi sau đây có thể được trả về theo hướng dẫn này:
Thông báo Lỗi | RPC | Khắc phục sự cố |
---|---|---|
Mức giới hạn. | RESOURCE_EXHAUSTED |
Mỗi nhà phát triển có một hạn mức giới hạn số lượng lệnh gọi mà họ có thể thực hiện. Nếu thực hiện nhiều cuộc gọi hơn hạn mức, bạn sẽ nhận được thông báo Bị giới hạn tốc độ. Để khắc phục vấn đề này, hãy gửi lại cuộc gọi sau khi hết hạn mức. |
Hãy xem Tài liệu tham khảo về mã lỗi API để biết danh sách đầy đủ các mã lỗi API.