Device Access הפרויקטים מוגבלים בהתאם למשתמשים, למבנה ולמגבלות הקצב של יצירת הבקשות, בהתאם לסביבה ולסוג של המבצע המסחרי.
אנחנו רוצים שהמפתחים ייצרו חוויות משתמש מעניינות, אבל אנחנו גם רוצים שהשירות והמכשירים של Nest תמיד יהיו זמינים למשתמש. שילובים שמבצעים מספר גדול של בקשות בפרק זמן נתון יכולים להשפיע על זמינות השירותים והמכשירים, ולכן ה-SDM API מחיל מגבלות על יצירת בקשות. הגבלת הקצב מגבילה את מספר הקריאות ל-API בפרק זמן נתון, ומונעת ניצול יתר של המשאבים.
מגבלות לפי סביבה
כל הפרויקטים מתחילים בסביבה Sandbox . Sandbox מיועד להערכה של SDM API ולשימוש אישי, והמגבלות מוגבלות בהתאם. לסביבות עם בסיסי משתמשים גדולים יותר, למשל פיתוח מסחרי , יש מגבלות שונות.
מגבלות למשתמשי Sandbox
חשבון הפיתוח ב-Sandbox מוגבל ל-25 משתמשים ב-5 מבנים בכל הפרויקטים. אפשר ליצור עד 3 פרויקטים לכל חשבון.
כל מבנה מוגבל ל-5 משתמשים, לכן המערכת תמצה את מגבלת המשתמשים רק כשבכל 5 המבנים יהיו 5 משתמשים לכל היותר. חשבון הפיתוח (שהבעלים של הפרויקט) לא נכלל במגבלה של 5 משתמשים למבנה.
לעומת זאת, אם לפרויקט יש 15 משתמשים ביותר מ-5 מבנים, תוכלו להוסיף משתמשים רק ל-5 המבנים הקיימים, כי כבר הגעתם למגבלת המבנה.
הגבלות קצב של יצירת בקשות ב-Sandbox
קצב ה-Sandbox מוגבל ב-3 רמות שונות. המגבלות מוגדרות לשאילתות לדקה (QPM), אלא אם צוין אחרת.
רמת ממשק API:
הקריאות ל-API מוגבלות לכל פרויקט, לכל משתמש. במאמר מידע על API תוכלו לקרוא מידע נוסף על שיטות ספציפיות.
שיטת ה-API | מגבלת קצב ליצירת בקשות |
---|---|
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 |
רמת הפקודה
כל פקודת trait (devices.executeCommand
) מוגבלת ל-5 QPM לפרויקט, לכל משתמש ולכל מכשיר.
כלומר, אם בפרויקט יש 2 משתמשים עם 2 מכשירים כל אחד (4 מכשירים בסה"כ), אפשר לקרוא לאותה פקודה 5 פעמים בדקה בכל אחד מ-4 המכשירים.
עם זאת, אם בפרויקט יש 2 משתמשים שלכל אחד מהם 3 מכשירים ל-6 מכשירים בסך הכול, ייתכן שאותה פקודה לא תופעל 5 פעמים בדקה בכל אחד מששת המכשירים האלה. כתוצאה מכך, לכל משתמש יתקבלו 15 QPM, כשמגבלת הקצב ליצירת בקשות ברמת ה-API devices.executeCommand
למשתמש בפרויקט היא 10 QPM.
רמת המופע של המכשיר
בנוסף, כדי להגן על סוללת המכשיר, חלות המגבלות ברמת המופע של המכשיר בכל הפרויקטים והפקודות (devices.executeCommand
). המגבלות האלה חלות גם ברמת ה-QPM וגם ברמת השאילתות לשעה (QPH), ולא חלות על שיטות ה-API get
ו-list
.
לדוגמה, נניח שלפרויקט א' ולפרויקט ב' יש גישה לאותו מכשיר, מכשיר א' (ייתכן שהמשתמש אישר שני שילובים מסחריים שונים שמשתמשים באותו מכשיר). אם פרויקט א' שלח 4 פקודות למכשיר א' תוך דקה, הוא יכול לשלוח פקודה אחת למכשיר א' רק באותה דקה לפני שהגעתם למגבלת הקצב של יצירת הבקשות ברמת המופע של המכשיר. בשלב הזה, פקודות משני הפרויקטים למכשיר A מווסתות עד סוף הדקה שהתחילה בפקודה הראשונה למכשיר A.
אם סוג מכשיר מסוים לא מופיע ברשימה שבהמשך, אין לו מגבלות על קצב יצירת הבקשות ברמת המופע של המכשיר.
סוג מכשיר | מגבלת קצב של מופעי מכשיר |
---|---|
תרמוסטט | 5 QPM או 100 QPH |
מצלמה | 30 QPM או 100 QPH |
פעמון דלת | 30 QPM או 100 QPH |
שגיאות
ניתן להחזיר את קודי השגיאה הבאים ביחס למדריך זה:
הודעת שגיאה | הכנסה לקליק | פתרון בעיות |
---|---|---|
דירוג מוגבל. | RESOURCE_EXHAUSTED |
לכל מפתח יש מכסה שמגבילה את מספר השיחות שהוא יכול לבצע. אם יהיו לכם שיחות שחורגות מהמכסה שלכם, תקבלו את ההודעה על הגבלת הקצב של יצירת הבקשות. כדי לפתור את הבעיה, צריך לשלוח מחדש את השיחה כשפג התוקף של המכסה. |
בחומר העזר בנושא קוד שגיאה של API מופיעה הרשימה המלאה של קודי השגיאות של ה-API.