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 için her zaman kullanılabilir olmasını 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. Sıklık sınırlaması, 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ı

Sandbox'taki bir geliştirici hesabı, tüm projelerdeki 5 yapı genelinde 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 edilmez.

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 sıklık sınırları

Sandbox'ta 3 farklı düzeyde hız sınırlaması uygulanı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ırlıdır. Tek tek 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 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 kullanan 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 bu 6 cihazın her biri için bir dakika içinde 5 kez çağrılamaz. Bu durumda, bir projenin kullanıcısı için devices.executeCommand API düzeyindeki hız sınırı 10 QPM iken her kullanıcı için 15 QPM elde edilir.

Cihaz örneği düzeyi

Ayrıca, cihaz pilini korumak için projelerde ve komutlarda (devices.executeCommand) cihaz örneği düzeyinde sınırlamalar uygulanır. Bu sınırlamalar hem QPM hem de saatte sorgu (QPH) düzeyinde uygulanır ve get ile list API yöntemleri için geçerli değildir.

Örneğin, Proje A ve Proje B'nin aynı cihaza (Cihaz A) erişimi olduğunu varsayalım (belki kullanıcı aynı cihazı kullanan iki farklı ticari entegrasyonu yetkilendirmiştir). Proje A, bir dakika içinde Cihaz A'ya 4 komut gönderdiyse cihaz örneği düzeyindeki sıklık sınırı aşılmadan önce Proje B, aynı dakika içinde Cihaz A'ya yalnızca 1 komut gönderebilir. Bu noktada, Cihaz A'ya gönderilen ilk komutla başlayan dakikanın sonuna kadar her iki projenin Cihaz A'ya gönderdiği komutlar sınırlandırılır.

Aşağıda listelenmeyen cihaz türlerinde cihaz örneği düzeyinde hız sınırlamaları yoktur.

Cihazın Türü Cihaz örneği hız sınırı
TERMOSTAT 5 QPM veya 100 QPH
KAMERA 30 QPM veya 100 QPH
DOORBELL 30 QPM veya 100 QPH

Hatalar

Bu kılavuzla ilgili olarak aşağıdaki hata kodları döndürülebilir:

Hata Mesajı RPC Sorun giderme
Hız 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 çağrıyı yeniden gönderin.

API hata kodlarının tam listesi için API Hata Kodu Referansı'na bakın.