Device Access โปรเจ็กต์ถูกจำกัดโดยผู้ใช้ โครงสร้าง และขีดจำกัดอัตรา ขึ้นอยู่กับสภาพแวดล้อมและประเภท ของข้อเสนอเชิงพาณิชย์
เราต้องการให้นักพัฒนาซอฟต์แวร์สร้างประสบการณ์ที่น่าสนใจสำหรับผู้ใช้ แต่เราก็ต้องการ บริการและอุปกรณ์ Nest จะพร้อมให้บริการแก่ผู้ใช้เสมอ การผสานรวมที่ ส่งคำขอเป็นจำนวนมากในระยะเวลาที่กำหนดอาจส่งผลต่อบริการและ ความพร้อมใช้งานของอุปกรณ์ ดังนั้น SDM API จะใช้การจำกัดอัตราคำขอ การจำกัดอัตราจะจำกัดจำนวนการเรียก API สำหรับระยะเวลาที่กำหนด และ ช่วยป้องกันการใช้ทรัพยากรมากเกินไป
ขีดจำกัดตามสภาพแวดล้อม
โปรเจ็กต์ทั้งหมดเริ่มต้นในสภาพแวดล้อม แซนด์บ็อกซ์ แซนด์บ็อกซ์กำลัง ที่มีไว้สำหรับการประเมิน SDM API และการใช้งานส่วนบุคคล และ ตามขีดจำกัด สภาพแวดล้อมที่มีฐานผู้ใช้ขนาดใหญ่ เช่น การพัฒนาเชิงพาณิชย์ มีขีดจำกัดที่แตกต่างกัน
ขีดจำกัดของผู้ใช้แซนด์บ็อกซ์
บัญชีนักพัฒนาแอปในแซนด์บ็อกซ์จำกัดจำนวนผู้ใช้ไว้ที่ 25 รายใน 5 ราย ใหม่ในทุกโปรเจ็กต์ บัญชีหนึ่งๆ จะมีโปรเจ็กต์ได้ไม่เกิน 3 โปรเจ็กต์
โครงสร้างต่างๆ จำกัดผู้ใช้ไว้คนละ 5 คน ดังนั้นจะถึงขีดจำกัดของผู้ใช้เท่านั้น เมื่อโครงสร้างทั้ง 5 รายการมีผู้ใช้ได้สูงสุด 5 คนต่อกลุ่ม บัญชีนักพัฒนาแอป (ซึ่งเป็นเจ้าของโปรเจ็กต์) จะไม่นับรวมในขีดจำกัดผู้ใช้ 5 รายสำหรับ ใหม่
ในทางกลับกัน หากโปรเจ็กต์มีผู้ใช้ 15 คนในโครงสร้าง 5 โครงสร้าง ผู้ใช้ที่เพิ่มมาได้ สามารถเพิ่มลงในโครงสร้าง 5 รายการที่มีอยู่เท่านั้น เนื่องจากขีดจำกัดโครงสร้าง ถึง แล้ว
ขีดจำกัดอัตราแซนด์บ็อกซ์
แซนด์บ็อกซ์มีการจำกัดอัตราการใช้งานไว้ที่ 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 |
ระดับคำสั่ง
คำสั่งลักษณะเฉพาะแต่ละรายการ (devices.executeCommand
) จำกัดอยู่ที่ 5 QPM ต่อโปรเจ็กต์
ต่อผู้ใช้ต่ออุปกรณ์
ซึ่งหมายความว่าหากโปรเจ็กต์มีผู้ใช้ 2 คนโดยแต่ละคนมีอุปกรณ์ 2 เครื่อง (อุปกรณ์ทั้งหมด 4 เครื่อง) สามารถเรียกคำสั่งเดียวกัน 5 ครั้งใน 1 นาทีสำหรับอุปกรณ์ทั้ง 4 เครื่องนั้น
อย่างไรก็ตาม หากโปรเจ็กต์มีผู้ใช้ 2 คนโดยแต่ละคนมีอุปกรณ์ 3 เครื่องสำหรับอุปกรณ์ทั้งหมด 6 เครื่อง
สามารถไม่เรียกคำสั่งเดียวกันได้ 5 ครั้งใน 1 นาทีสำหรับแต่ละคำสั่ง
อุปกรณ์ ซึ่งจะส่งผลให้ได้ 15 QPM ต่อผู้ใช้ 1 ราย เมื่อ
ขีดจำกัดอัตราระดับ API ของ devices.executeCommand
สำหรับผู้ใช้ของโปรเจ็กต์คือ 10 QPM
ระดับอินสแตนซ์ของอุปกรณ์
นอกจากนี้ ยังมีการใช้ขีดจำกัดระดับอินสแตนซ์ของอุปกรณ์ในโปรเจ็กต์และ
คำสั่ง (devices.executeCommand
) เพื่อถนอมแบตเตอรี่ของอุปกรณ์ ขีดจำกัดเหล่านี้
จะมีผลทั้งในระดับ QPM และข้อความค้นหาต่อชั่วโมง (QPH) และจะไม่มีผล
ไปยังเมธอด API get
และ list
ตัวอย่างเช่น สมมติว่าทั้งโครงการ A และโครงการ B ต่างก็มีสิทธิ์เข้าถึง อุปกรณ์ A (บางทีผู้ใช้ได้อนุญาตโฆษณา ที่ใช้อุปกรณ์เดียวกัน) หากโปรเจ็กต์ A ส่งคำสั่ง 4 รายการไปให้ อุปกรณ์ A ภายใน 1 นาที โปรเจ็กต์ B สามารถส่งคำสั่ง 1 รายการไปยังอุปกรณ์ A ใน นาทีเดียวกันนั้นก่อนจะถึงขีดจำกัดอัตราระดับอินสแตนซ์ของอุปกรณ์ ในขณะนั้น ระบบจะควบคุมคำสั่งจากทั้งโปรเจ็กต์ไปยังอุปกรณ์ A จนกว่าจะสิ้นสุด นาทีที่เริ่มต้นด้วยคำสั่งแรกไปยังอุปกรณ์ A
หากประเภทอุปกรณ์ใดไม่อยู่ในรายการด้านล่าง แสดงว่าไม่มีระดับอินสแตนซ์ของอุปกรณ์ ขีดจำกัดอัตราคำขอ
ประเภทอุปกรณ์ | ขีดจำกัดอัตราอินสแตนซ์ของอุปกรณ์ |
---|---|
ตัวควบคุมอุณหภูมิ | 5 QPM หรือ 100 QPH |
กล้อง | 30 QPM หรือ 100 QPH |
DOORBELL | 30 QPM หรือ 100 QPH |
ข้อผิดพลาด
ระบบอาจส่งคืนรหัสข้อผิดพลาดต่อไปนี้ซึ่งเกี่ยวข้องกับคู่มือนี้
ข้อความแสดงข้อผิดพลาด | RPC | การแก้ปัญหา |
---|---|---|
ถูกจำกัดอัตรา | RESOURCE_EXHAUSTED |
นักพัฒนาแอปแต่ละรายมีโควต้าซึ่งจำกัดจำนวนการโทรที่สามารถทำได้ หากคุณโทรออกมากกว่าโควต้า คุณจะได้รับข้อความจำกัดอัตราการโทร หากต้องการแก้ไขปัญหานี้ ให้ส่งการโทรอีกครั้งเมื่อโควต้าหมดอายุ |
ดูข้อมูลอ้างอิงรหัสข้อผิดพลาด API สำหรับ รายการรหัสข้อผิดพลาด API ทั้งหมด