حدود المستخدم والمعدل

تخضع مشاريعDevice Access لقيود حسب المستخدم والبنية وحدود المعدّل، وذلك استنادًا إلى البيئة ونوع العرض التجاري.

نريد أن يقدّم المطوّرون تجارب مستخدم جذابة، ولكننا نريد أيضًا أن تكون خدمة Nest وأجهزتها متاحة للمستخدم دائمًا. يمكن أن تؤثّر عمليات الدمج التي ترسل عددًا كبيرًا من الطلبات خلال فترة زمنية معيّنة في توفّر الخدمة والأجهزة، لذا تفرض واجهة برمجة التطبيقات SDM API حدودًا على عدد الطلبات. يحدّ معدّل الطلبات من عدد طلبات البيانات من واجهة برمجة التطبيقات لفترة زمنية معيّنة ويمنع الإفراط في استخدام الموارد.

الحدود القصوى حسب البيئة

تبدأ جميع المشاريع في بيئة   Sandbox  . تم تصميم Sandbox لتقييم واجهة برمجة التطبيقات SDM API والاستخدام الشخصي، ويتم فرض قيود على الاستخدام وفقًا لذلك. تتضمّن البيئات التي تضمّ قواعد مستخدمين أكبر، مثل   التطوير التجاري  ، حدودًا مختلفة.

الحدود القصوى لعدد مستخدمي وضع الحماية

يقتصر حساب المطوّر في Sandbox على 25 مستخدمًا في 5 بُنى ضمن جميع المشاريع. يبلغ الحدّ الأقصى المسموح به 3 مشاريع لكل حساب.

تقتصر كل بنية على 5 مستخدمين، وبالتالي لن يتم بلوغ الحد الأقصى لعدد المستخدمين إلا بعد أن يتم بلوغ الحد الأقصى لعدد المستخدمين في جميع البُنى الخمس، أي 5 مستخدمين في كل بنية. لا يتم احتساب حساب المطوّر (الذي يملك المشروع) ضمن الحدّ الأقصى البالغ 5 مستخدمين لكل بنية.

في المقابل، إذا كان المشروع يتضمّن 15 مستخدمًا موزّعين على 5 بنى، لا يمكن إضافة مستخدمين إضافيين إلا إلى البنى الخمس الحالية، لأنّه تم بلوغ الحد الأقصى لعدد البنى.

الحدود القصوى لمعدّل الزحف في وضع الحماية

يتم تقييد معدّل استخدام "وضع الحماية" على 3 مستويات مختلفة. يتم ضبط الحدود على عدد الطلبات في الدقيقة (QPM) ما لم يُذكر خلاف ذلك.

مستوى واجهة برمجة التطبيقات

تكون طلبات البيانات من واجهة برمجة التطبيقات محدودة لكل مشروع ولكل مستخدم. راجِع مرجع واجهة برمجة التطبيقات للحصول على مزيد من المعلومات حول الطرق الفردية.

طريقة واجهة برمجة التطبيقات الحدّ الأقصى المسموح به
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

مستوى الأمر

يقتصر كل أمر سمة (devices.executeCommand) على 5 طلبات في الدقيقة لكل مشروع، ولكل مستخدم، ولكل جهاز.

وهذا يعني أنّه إذا كان هناك مشروع يضم مستخدمَين لديهما جهازان لكل منهما (4 أجهزة إجمالاً)، يمكن استدعاء الأمر نفسه 5 مرات في الدقيقة لكل جهاز من هذه الأجهزة الأربعة.

ومع ذلك، إذا كان أحد المشاريع يضم مستخدمَين لديهما 3 أجهزة لكل منهما، أي 6 أجهزة إجمالاً، لا يمكن استدعاء الأمر نفسه 5 مرات في الدقيقة لكل جهاز من هذه الأجهزة الستة. سيؤدي ذلك إلى 15 طلب بحث في الدقيقة لكل مستخدم، في حين أنّ الحد الأقصى لعدد طلبات البحث في الدقيقة على مستوى واجهة برمجة التطبيقات devices.executeCommand لمستخدم أحد المشاريع هو 10 طلبات بحث في الدقيقة.

مستوى مثيل الجهاز

بالإضافة إلى ذلك، يتم تطبيق حدود على مستوى مثيل الجهاز على مستوى المشاريع والأوامر (devices.executeCommand) لحماية بطارية الجهاز. يتم تطبيق هذه الحدود على مستوى الطلبات في الدقيقة والطلبات في الساعة، ولا تنطبق على طريقتَي واجهة برمجة التطبيقات get وlist.

على سبيل المثال، لنفترض أنّ المشروع "أ" والمشروع "ب" يمكنهما الوصول إلى الجهاز نفسه، أي الجهاز "أ" (ربما سمح المستخدم بعمليتَي دمج تجاريتَين مختلفتَين تستخدمان الجهاز نفسه). إذا أرسل "المشروع أ" 4 أوامر إلى "الجهاز أ" خلال دقيقة واحدة، يمكن لـ "المشروع ب" إرسال أمر واحد فقط إلى "الجهاز أ" خلال الدقيقة نفسها قبل بلوغ الحدّ الأقصى لمعدّل الاستخدام على مستوى مثيل الجهاز. في تلك الحالة، يتم تقييد الطلبات من كلا المشروعين إلى الجهاز "أ" حتى نهاية الدقيقة التي بدأت بالطلب الأول إلى الجهاز "أ".

إذا لم يكن نوع الجهاز مُدرَجًا أدناه، لن يكون لديه حدود قصوى لمعدّل الاستخدام على مستوى مثيل الجهاز.

نوع الجهاز الحدّ الأقصى لمعدّل استخدام مثيل الجهاز
THERMOSTAT ‫5 QPM أو 100 QPH
CAMERA ‫30 طلب بحث في الدقيقة أو 100 طلب بحث في الساعة
DOORBELL ‫30 طلب بحث في الدقيقة أو 100 طلب بحث في الساعة

الأخطاء

قد يتم عرض رموز الخطأ التالية في ما يتعلق بهذا الدليل:

رسالة الخطأ متوسط عائد النقرة تحديد المشاكل وحلّها
المعدّل محدود. RESOURCE_EXHAUSTED يملك كل مطوّر حصة تحدّ من عدد الطلبات التي يمكنه إجراؤها. إذا أجريت مكالمات أكثر من الحصة المخصّصة لك، ستتلقّى الرسالة "تم تجاوز الحدّ الأقصى لعدد الطلبات". لحلّ هذه المشكلة، أعِد إرسال الطلب بعد انتهاء صلاحية الحصة.

اطّلِع على مرجع رموز الخطأ في واجهة برمجة التطبيقات للاطّلاع على القائمة الكاملة برموز الخطأ في واجهة برمجة التطبيقات.