Device Access projeleri, ortama ve ticari teklifin türüne bağlı olarak kullanıcı, yapı ve hız sınırlarıyla kısıtlanır.
Geliştiricilerin ilgi çekici kullanıcı deneyimleri oluşturmasını istiyoruz ancak Nest hizmetinin ve cihazlarının da kullanıcılar tarafından her zaman kullanılabilmesini istiyoruz. Belirli bir süre içinde çok sayıda istekte bulunan entegrasyonlar, hizmet ve cihaz kullanılabilirliğini etkileyebilir. Bu nedenle SDM API, sıklık sınırları uygular. Hız sınırlama, belirli bir süre içinde yapılan API çağrılarının sayısını kısıtlar ve kaynakların aşırı kullanılmasını önler.
Ortama göre sınırlar
Tüm projeler Sandbox ortamında başlar. Sandbox, SDM API'nin değerlendirilmesi ve kişisel kullanım için tasarlanmıştır. Bu nedenle, sınırlar buna göre belirlenir. Ticari Geliştirme gibi daha büyük kullanıcı tabanlarına sahip ortamlar için farklı sınırlar geçerlidir.
Korumalı alan kullanıcı sınırları
Korumalı alandaki bir geliştirici hesabı, tüm projelerdeki 5 yapıda 25 kullanıcıyla sınırlıdır. Hesap başına 3 proje sınırı vardır.
Yapılar, her biri 5 kullanıcıyla sınırlıdır. Bu nedenle, kullanıcı sınırına yalnızca 5 yapının tamamı 5 kullanıcıyla doldurulduğunda ulaşılır. Projenin sahibi olan geliştirici hesabı, bir yapı için 5 kullanıcı sınırına dahil değildir.
Buna karşılık, bir projede 5 yapıdan fazla 15 kullanıcı varsa yapı sınırı zaten aşıldığı için ek kullanıcılar yalnızca mevcut 5 yapıya eklenebilir.
Korumalı alan hızı sınırları
Sandbox'ın hızı 3 farklı düzeyde sınırlandırılır. Aksi belirtilmedikçe sınırlar, dakika başına sorgu (QPM) olarak belirlenir.
API seviyesi
API çağrıları proje ve kullanıcı başına sınırlandırılır. Tek tek yöntemler hakkında daha fazla bilgi için API Referansı'na bakın.
API Yöntemi | Sıklık Sınırı |
---|---|
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 |
Komut düzeyi
Her özellik komutu (devices.executeCommand
), proje, kullanıcı ve cihaz başına 5 QPM ile sınırlıdır.
Yani bir projede her biri 2 cihazı olan 2 kullanıcı varsa (toplam 4 cihaz), aynı komut 4 cihazın her biri için dakikada 5 kez çağrılabilir.
Ancak bir projede her biri 3 cihaz kullanan 2 kullanıcı varsa (toplam 6 cihaz), aynı komut 6 cihazın her biri için dakikada 5 kez çağrılamaz. Bir projenin kullanıcısı için devices.executeCommand
API düzeyinde sıklık sınırı 10 QPM olduğunda bu, her kullanıcı için 15 QPM ile sonuçlanır.
Cihaz örneği düzeyi
Ayrıca, cihaz pil koruması için projeler ve komutlar (devices.executeCommand
) genelinde cihaz örneği düzeyinde sınırlar uygulanır. Bu sınırlar hem dakika başına sorgu (QPM) hem de saat başına sorgu (QPH) düzeylerinde uygulanır ve get
ile list
API yöntemleri için geçerli değildir.
Örneğin, A Projesi ve B Projesi'nin aynı cihaza (A Cihazı) erişimi olduğunu varsayalım (kullanıcı, aynı cihazı kullanan iki farklı ticari entegrasyonu yetkilendirmiş olabilir). A Projesi bir dakika içinde A Cihazı'na 4 komut gönderdiyse B Projesi, cihaz örneği düzeyindeki sıklık sınırlamasına ulaşılmadan önce aynı dakika içinde A Cihazı'na yalnızca 1 komut gönderebilir. Bu noktada, A Projesi ve B Projesi'nden A Cihazı'na gönderilen komutlar, A Cihazı'na gönderilen ilk komutla başlayan dakikanın sonuna kadar sınırlandırılır.
Aşağıda listelenmeyen cihaz türlerinde cihaz örneği düzeyinde sıklık sınırlamaları yoktur.
Cihazın Türü | Cihaz örneği hız sınırı |
---|---|
THERMOSTAT | 5 QPM veya 100 QPH |
KAMERA | 30 QPM veya 100 QPH |
KAPI ZİLİ | 30 QPM veya 100 QPH |
Hatalar
Bu kılavuzla ilgili olarak aşağıdaki hata kodları döndürülebilir:
Hata Mesajı | TBG | Sorun giderme |
---|---|---|
Sıklık sınırlaması uygulandı. | RESOURCE_EXHAUSTED |
Her geliştiricinin yapabileceği çağrı sayısını sınırlayan bir kotası vardır. Kotanızdan daha fazla arama yaparsanız "Sınırlı hız" mesajını alırsınız. Bu sorunu düzeltmek için kota süresi dolduktan sonra aramayı yeniden gönderin. |
API hata kodlarının tam listesi için API Hata Kodu Referansı'na bakın.