Etkinlikler eşzamansız olup Google Cloud Pub/Sub tarafından her Projectiçin tek bir konuda yönetilir. Etkinlikler, tüm cihazlar ve yapılar için güncelleme sağlar. Erişim jetonu kullanıcı tarafından iptal edilmediği ve etkinlik mesajlarının süresi dolmadığı sürece etkinliklerin alınması sağlanır.
Etkinlikler, SDM API'sinin isteğe bağlı bir özelliğidir. Google Cloud projenizi kullanarak bu çözümleri kolayca uygulayıp doğrulayabilirsiniz.
Etkinlikleri etkinleştir
Etkinlikler Device Access Console'da etkinleştirilebilir. Henüz yapmadıysanız Konsolu'nda projenizi seçin.
Etkinlikleri daha önce etkinleştirdiyseniz (örneğin, proje oluşturma sırasında) Proje Bilgileri bölümündeki Pub/Sub konusu alanında, şu biçimde bir konu kimliği adı verilen bir değer zaten olmalıdır:
projects/sdm-prod/topics/enterprise-project-id
Etkinlikleri etkinleştirmediyseniz:
- Pub/Sub konusu için simgesini tıklayın ve Düzenle'yi seçin.
- Etkinlikleri etkinleştir'i işaretleyin ve Kaydet'i tıklayın.
- Yukarıda gösterilen biçimde bir konu kimliği oluşturulur.
Konu kimliğinizi kopyalayın. Etkinlik mesajlarının alınabilmesi için konuya abonelik oluşturmak üzere bu kimliğe ihtiyacınız olacaktır.
Pull aboneliği oluşturma
Çekme aboneliği, abonenin sıraya alınmış etkinlik mesajları için Pub/Sub sunucusuna istek gönderdiği aboneliktir. Bu, yetkili cihazlarınız için etkinlik oluşturulduğunu doğrulamanın hızlı ve kolay bir yoludur.
Google Cloud projeniz için Cloud Shell'i açın:
Cloud Shell isteminde, istediğiniz subscription-id ve benzersiz Konu Kimliğinizi kullanarak konunuza pull aboneliği oluşturmak için aşağıdaki komutu çalıştırın:
gcloud pubsub subscriptions create subscription-id --topic=projects/sdm-prod/topics/enterprise-project-id
Created subscription [projects/gcp-project-name/subscriptions/subscription-id].
Etkinlikleri başlatma
Pub/Sub aboneliği oluşturulduktan sonra etkinlikleri ilk kez başlatmak için cihazlarınızı tek seferlik tetikleyici olarak listelemek üzere bir çağrı yapın:
curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token'
Tüm yapı ve cihazlara ait etkinlikler bu API çağrısından sonra yayınlanır.
Etkinlik oluştur
Bazıları otomatik, bazıları manuel olan tüm özellik alanı değişiklikleri için etkinlik oluşturulur.
Örneğin, Nest Thermostat'ınızın yakınındaki ortam sıcaklığı değişirseSıcaklık özelliği için yeni bir ambientTemperatureCelsius
değeriyle otomatik olarak bir etkinlik gönderilir.
Manuel olarak oluşturmak için:
- Cihazınızın durumunu fiziksel olarak değiştirme (ör. Nest Thermostat'ınızın modunu değiştirme).
- Google Nest Cam Indoor'da hareket, kişi veya ses gibi bir etkinliği tetikleyin.
- SDM API'yi kullanarak cihaz komutu yürütebilirsiniz.
Mesajları göster
Etkinlik mesajları, Google Cloud projenizdeki Pub/Sub Abonelikleri bölümünde görüntülenebilir:
Google Cloud Pub/Sub aboneliklerine gidin
- Daha önce oluşturduğunuz abonelik kimliğini tıklayın.
- Abonelik ayrıntıları ekranında Yanıtlanmamış mesaj sayısı grafiğini görebilirsiniz. Bu, aboneliğiniz için etkinlik mesajlarının geldiğini gösterir. Herhangi bir etkinlik görmüyorsanız biraz bekleyin veya birkaç etkinlik daha oluşturun.
- Mesajlar panelini açmak için MESAJLARI GÖSTER'i tıklayın.
- Mesajları görüntülemek için PULL'u tıklayın. Bunlar, etkinlikleri oluşturmak için kullandığınız işlemlere karşılık gelmelidir.
Mesajlar, Cloud Shell'de temel bir pull
komutuyla da görüntülenebilir:
gcloud pubsub subscriptions pull subscription-id
Abonelik türleri, SDM API'nin gönderdiği etkinlik türleri ve bunların nasıl kullanılacağı hakkında daha fazla bilgi için Etkinlikler bölümüne bakın.
Mesajları yönetme
Aboneliğin temiz kalması ve diğer abonelere yinelenen mesajların gönderilmesini önlemek için mesajlar düzenli olarak onaylanmalı ve temizlenmelidir. Tüm abonelik mesajları, Pub/Sub abonelikleri bölümünde manuel olarak temizlenebilir:
Google Cloud Pub/Sub aboneliklerine gidin
- Abonelik kimliğini tıklayın.
- Bildirmek ve temizlemek için birkaç yöntem vardır:
- Mesajlar panelini açmak için MESAJLARI GÖSTER'i tıklayın. Tüm iletileri görüntülemek ve onaylamak için Onay iletilerini etkinleştir onay kutusunu işaretleyin ve GET'i tıklayın.
- Mevcut tüm mesajları görüntülemeden onaylayarak silmek için MESAJLARI SİLE'yi tıklayın. Onaylamak için SİL'i tıklayın.
Cloud Shell'de, temel bir pull
komutuyla --auto-ack
işaretçisi kullanılarak da mesajlar temizlenebilir:
gcloud pubsub subscriptions pull subscription-id --auto-ack
Abonelikleri yönet
Abonelikler, Abonelik özelliklerini kullanma bölümünde açıklandığı gibi çeşitli şekillerde yapılandırılabilir.
Abonelikleri ve mesajları nasıl yöneteceğiniz size bağlıdır. Ancak üretim uygulaması için, bu hızlı başlangıç kılavuzunda şimdiye kadar kullandığınız kullanıcı hesabı yerine kimlik doğrulama amacıyla hizmet hesaplarını kullanmanızı öneririz. Hizmet hesapları, bir kişi tarafından değil, bir uygulama veya sanal makine tarafından kullanılır ve kendine özgü bir hesap anahtarına sahiptir.
Device Accessile hizmet hesabı kimlik doğrulaması hakkında daha fazla bilgi için Etkinlikler bölümüne bakın.