Device Access projeleri, ticari teklifin ortamına ve türüne bağlı olarak kullanıcı, yapı ve ücret sınırlarına göre kısıtlanır.
Geliştiricilerin ilgi çekici kullanıcı deneyimleri oluşturmasını istiyoruz ancak Nest hizmetinin ve cihazlarının kullanıcılar için her zaman kullanılabilir olmasını da istiyoruz. Belirli bir süre içinde çok sayıda istek gönderen entegrasyonlar, hizmet ve cihaz kullanılabilirliğini etkileyebileceğinden SDM API'de hız sınırları uygulanır. Hız sınırlaması, belirli bir dönem için API çağrısı sayısını kısıtlar ve kaynakların aşırı kullanımını önler.
Ortama göre sınırlar
Tüm projeler Sandbox ortamında başlar. Korumalı Alan, SDM API'nin değerlendirilmesi ve kişisel kullanım için tasarlanmıştır ve sınırlar buna göre kısıtlanmıştır. Ticari Geliştirme gibi daha büyük kullanıcı tabanına sahip ortamların farklı sınırları vardır.
Korumalı alan kullanıcı sınırları
Korumalı alanlardaki geliştirici hesapları, 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 5 kullanıcıyla sınırlıdır. Bu nedenle, kullanıcı sınırına yalnızca 5 yapının her biri 5 kullanıcıyla dolduğunda ulaşılır. Geliştirici hesabı (projenin sahibi olan hesap), bir yapının 5 kullanıcı sınırına dahil edilmez.
Buna karşılık, bir projede 5 yapıda 15 kullanıcı varsa yapı sınırına ulaşıldığı için ek kullanıcılar yalnızca mevcut 5 yapıya eklenebilir.
Korumalı alan oranı sınırları
Korumalı alan, 3 farklı düzeyde hız sınırlamasına sahiptir. Sınırlar, aksi belirtilmedikçe dakikada sorgu (QPM) olarak belirlenir.
API seviyesi
API çağrıları, proje ve kullanıcı başına sınırlıdır. Ayrı yöntemler hakkında daha fazla bilgi için API Referansı'na bakın.
API Yöntemi | Hız Sınırı |
---|---|
devices.executeCommand |
10 saniyede 10 paket |
devices.get |
10 saniyede 10 paket |
devices.list |
5 QPM |
structures.get |
5 QPM |
structures.list |
5 QPM |
structures.rooms.get |
5 QPM |
structures.rooms.list |
5 QPM |
Komut seviyesi
Her özellik komutu (devices.executeCommand
), proje başına, kullanıcı başına ve cihaz başına 5 QPM ile sınırlıdır.
Yani bir projede her biri 2 cihaza sahip 2 kullanıcı varsa (toplam 4 cihaz) aynı komut, bu 4 cihazın her biri için dakikada 5 kez çağrılabilir.
Ancak bir projede toplam 6 cihaz için her biri 3 cihaza sahip 2 kullanıcı varsa aynı komut, bu 6 cihazın her biri için dakikada 5 kez çağrılamaz. Bu, bir projenin kullanıcısı için devices.executeCommand
API düzeyinde 10 QPM olan hız sınırı olduğunda her kullanıcı için 15 QPM ile sonuçlanır.
Cihaz örneği düzeyi
Ayrıca, cihaz pili koruması için projeler ve komutlar (devices.executeCommand
) genelinde cihaz örneği düzeyinde sınırlar uygulanır. Bu sınırlar hem 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ının aynı cihazı kullanan iki farklı ticari entegrasyona yetki vermesi mümkündür). A Projesi bir dakika içinde A Cihazına 4 komut gönderdiyse B Projesi, cihaz örneği düzeyinde hız sınırına ulaşılmaksızın aynı dakika içinde A Cihazına yalnızca 1 komut gönderebilir. Bu noktada, 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ürleri için cihaz örneği düzeyinde hız sınırı yoktur.
Cihazın Türü | Cihaz Örneği Hız Sınırı |
---|---|
TERMOSTAT | 5 QPM veya 100 QPH |
KAMERA | 30 PPM veya 100 PPM |
KAPI ZİLİ | 30 PPM veya 100 PPM |
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ırlıdır. | RESOURCE_EXHAUSTED |
Her geliştiricinin, yapabilecekleri arama sayısını sınırlayan bir kotası vardır. Kotanızdan daha fazla arama yaparsanız "Oran sınırlı" mesajını alırsınız. Bu sorunu düzeltmek için kotanın süresi dolduktan sonra çağrıyı yeniden gönderin. |
API hata kodlarının tam listesi için API Hata Kodu Referansı'na bakın.