Giới hạn người dùng và giá

Device Access project bị giới hạn theo người dùng, cấu trúc và hạn mức, tuỳ thuộc vào môi trường và loại Sản phẩm 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 luôn có thể sử dụng dịch vụ và thiết bị Nest. Những hoạt động tích hợp tạo ra 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 khả năng cung cấp dịch vụ và thiết bị, vì vậy, SDM API áp dụng giới hạn về tốc độ. Tính năng giới hạn tốc độ 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 quá mức tài nguyên.

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 này được dùng để đánh giá SDM API và sử dụng cho mục đích cá nhân, đồng thời các giới hạn cũng được hạn chế cho phù hợp. 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 hạn mức khác nhau.

Giới hạn người dùng trong hộp cát

Một tài khoản nhà phát triển trong Hộp cát bị giới hạn ở 25 người dùng trên 5 cấu trúc trên 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ó tối đa 5 người dùng, vì vậy, bạn chỉ đạt đến giới hạn người dùng khi cả 5 cấu trúc đều có tối đa 5 người dùng. Tài khoản nhà phát triển (sở hữu dự án) không được tính vào hạn mức 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 thuộc 5 cấu trúc, thì bạn chỉ có thể thêm người dùng bổ sung vào 5 cấu trúc hiện có, vì đã đạt đến giới hạn cấu trúc.

Giới hạn tốc độ của hộp cát

Sandbox bị giới hạn tốc độ ở 3 cấp độ khác nhau. Giới hạn được đặt ở mức số lượng truy vấn mỗi phút (QPM), trừ phi có quy định khác.

Cấp độ API

Số lượng lệnh gọi API bị giới hạn cho mỗi dự án, mỗi người dùng. Hãy xem Tài liệu tham khảo về API để biết thêm thông tin về từng phương thức.

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 đặc điểm (devices.executeCommand) bị giới hạn ở 5 QPM cho mỗi dự án, mỗi người dùng, mỗi thiết bị.

Điều đó có nghĩa là nếu một dự án có 2 người dùng, 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, mỗi người dùng có 3 thiết bị, tức là tổng cộng 6 thiết bị, thì cùng một lệnh không thể được gọi 5 lần trong một phút cho mỗi thiết bị trong số 6 thiết bị đó. Điều này sẽ dẫn đến 15 QPM cho mỗi người dùng, trong khi giới hạn tốc độ cấp API devices.executeCommand cho người dùng của một dự án là 10 QPM.

Cấp phiên bản thiết bị

Ngoài ra, các giới hạn ở cấp độ phiên bản thiết bị được triển khai trên các dự án và lệnh (devices.executeCommand) để bảo vệ pin thiết bị. Những giới hạn này được áp dụng ở cả cấp độ QPM và số lượng truy vấn mỗi giờ (QPH) và không áp dụng cho các phương thức API getlist.

Ví dụ: giả sử Dự án A và Dự án B đều có quyền truy cập vào cùng một thiết bị, Thiết bị A (có thể người dùng đã uỷ quyền cho 2 hoạt động tích hợp thương mại khác nhau 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 trong cùng một phút đó trước khi đạt đến giới hạn tốc độ ở cấp phiên bản thiết bị. Tại thời điểm đó, các lệnh từ cả hai Dự án đến Thiết bị A đều bị điều tiết cho đến hết 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 bên dưới, thì loại thiết bị đó không có giới hạn về tốc độ ở cấp độ phiên bản thiết bị.

Loại thiết bị Giới hạn tốc độ của phiên bản thiết bị
THERMOSTAT 5 QPM hoặc 100 QPH
CAMERA 30 QPM hoặc 100 QPH
CHUÔNG CỬA 30 QPM hoặc 100 QPH

Lỗi

(Các) mã lỗi sau đây có thể được trả về liên quan đến hướng dẫn này:

Thông báo Lỗi RPC Khắc phục sự cố
Bị giới hạn số lượng yêu cầu. RESOURCE_EXHAUSTED Mỗi nhà phát triển đều 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 lệnh 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 lệnh gọi sau khi hạn mức hết hạn.

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.