Kullanıcı ve Ücret Sınırları

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.