使用者和頻率限制

Device Access 專案受到使用者、結構及頻率限制的限制, 視環境和商業產品類型而定

我們希望開發人員能創造引人入勝的使用者體驗,但同時也希望 使用者隨時可以使用 Nest 服務和裝置。這些整合服務 在指定時間內提出大量要求可能會影響服務, 裝置可用性,因此 SDM API 會套用頻率限制。 頻率限制會限制特定時間範圍內的 API 呼叫次數, 可避免資源過度使用率

依環境區分的限制

所有專案都是從「沙箱」  環境中開始。沙箱是 供評估 SDM API 和個人使用,以及 也會因此受限。使用者族群較多的環境,例如   商業開發   的限制有所不同。

沙箱使用者限制

沙箱中的開發人員帳戶最多只能有 25 位使用者共用 5 所有專案的 Kubernetes 結構每個帳戶最多只能有 3 項專案。

每個結構最多只能有 5 位使用者,因此僅可達到使用者人數上限 但當 5 個架構達到 5 位使用者時。開發人員帳戶 (擁有專案的帳戶) 不會計入 成本中心的架構

反之,如果專案有 15 位使用者,且這些使用者都可透過 5 種架構使用,則其他使用者可 只能加到現有的 5 個結構中 。

沙箱頻率限制

沙箱的頻率限制在 3 個不同等級。限制設定的時間 每分鐘的查詢數 (QPM)。

API 級別

每位使用者的 API 呼叫次數上限為每項專案。請參閱 API 參考資料:進一步瞭解個人 方法。

API 方法 頻率限制
devices.executeCommand 每分鐘 10 次查詢
devices.get 每分鐘 10 次查詢
devices.list 每分鐘 5 次查詢
structures.get 每分鐘 5 次查詢
structures.list 每分鐘 5 次查詢
structures.rooms.get 每分鐘 5 次查詢
structures.rooms.list 每分鐘 5 次查詢

指令層級

每項專案的每個特徵指令 (devices.executeCommand) 最多只能有 5 個 QPM。 每位使用者的裝置數量

也就是說,如果專案有 2 位使用者,每人 2 部裝置 (共 4 部裝置), 這 4 部裝置在一分鐘內可以分別呼叫 5 次

不過,如果專案有 2 位使用者,每 6 部裝置均有 6 部裝置,則 這 6 個指令在一分鐘內可能無法呼叫 5 次 裝置。這樣會導致每位使用者 15 次 QPM。 devices.executeCommand 專案的使用者 API 級別頻率上限為 10 QPM。

裝置執行個體層級

此外,系統會在所有專案和 指令 (devices.executeCommand),用於保護裝置電池。這些限制 會同時套用於 QPM 層級和每小時查詢次數 (QPH) 層級,且不適用 加入 getlist API 方法

舉例來說,假設專案 A 和專案 B 都能存取相同的 裝置、裝置 A (也許使用者授權了兩種不同的商業廣告 整合使用相同裝置的整合服務)。如果專案 A 傳送 4 個指令給 裝置 A 在一分鐘內,則專案 B 只能傳送 1 個指令給裝置 A, 等待時間超過裝置執行個體層級頻率限制的 1 分鐘在此之後 點,從兩個專案對裝置 A 的指令都會受到限制,直到最後 從第一個指令開始到裝置 A 的分鐘。

如果下方未列出裝置類型,表示該裝置類型沒有裝置執行個體層級 頻率限制

裝置類型 裝置執行個體頻率限制
溫度控制器 每分鐘 5 次查詢或每小時 100 次查詢時數
相機 每分鐘 30 次查詢或每小時 100 次查詢 (QPH)
DOORBELL 每分鐘 30 次查詢或每小時 100 次查詢 (QPH)

錯誤

根據本指南的規定,系統可能傳回下列錯誤代碼:

錯誤訊息 單次點擊收益 疑難排解
頻率受限。 RESOURCE_EXHAUSTED 每個開發人員都有配額限制,可發出呼叫次數限制。如果通話次數超過配額,就會收到「頻率受限」的訊息。如要解決這個問題,請在配額到期後重新提交呼叫。

請參閱 API 錯誤代碼參考資料: API 錯誤代碼的完整清單