Etkinliklere Abone Olma

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'nin isteğe bağlı bir özelliğidir. Google Cloud projeniz kullanılarak kolayca uygulanabilir ve doğrulanabilirler.

Etkinlikleri etkinleştir

Etkinlikler Device Access Konsol'da etkinleştirilebilir. Henüz yapmadıysanız Konsolda Projenizi seçin.

Device Access Konsola gidin.

Etkinlikleri zaten etkinleştirdiyseniz (örneğin, proje oluşturma sırasında) Proje Bilgileri bölümündeki Pub/Sub konusu alanında şu şekilde bir değer olacaktır:

projects/sdm-prod/topics/enterprise-project-id

Etkinlikleri etkinleştirmediyseniz:

  1. Pub/Sub konusu için simgesini tıklayın ve Düzenle'yi seçin.
  2. Etkinlikleri etkinleştir'i işaretleyin ve Kaydet'i tıklayın.
  3. Sizin için 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ştururken bu bilgiye ihtiyacınız olacaktır.

Push aboneliği oluşturma

Push aboneliği, bir abonenin sıraya alınmış etkinlik mesajları için Pub/Sub sunucusuna istek başlattığı yerdir. 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:

Google Cloud Shell'e git

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].

Etkinlik 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ılar ve cihazlarla ilgili etkinlikler bu API çağrısından sonra yayınlanacak.

Etkinlik oluştur

Tüm özellik alanı değişiklikleri için etkinlikler oluşturulur. Bu değişikliklerin bazıları otomatik, bazıları ise manueldir.

Örneğin, Nest Thermostat'ınızın yakınındaki ortam sıcaklığı değişirseSıcaklık özelliği için otomatik olarak yeni bir ambientTemperatureCelsius değeri gönderilir.

Manuel olarak oluşturmak için:

  1. Cihazınızın durumunu fiziksel olarak değiştirin (örneğin, Nest Thermostat'ınızın modunu değiştirin).
  2. Google Nest Cam İç Ünite'de hareket, kişi veya ses gibi bir olayı tetikleyin.
  3. SDM API'yi kullanarak bir cihaz komutu yürütün.

Mesajları göster

Etkinlik mesajları, Google Cloud projenizin Pub/Sub Abonelikleri bölümünde görüntülenebilir:

Google Cloud Pub/Sub Abonelikleri'ne git

  1. Daha önce oluşturduğunuz Abonelik Kimliği'ni tıklayın.
  2. 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 bir süre bekleyin veya birkaç etkinlik daha oluşturun.
  3. Mesajlar panelini açmak için MESAJLARI GÖRÜNTÜLE'yi tıklayın.
  4. İletileri görüntülemek için ÇEKİN'i tıklayın. Bunlar, etkinlikleri oluşturmak için kullandığınız işlemlere karşılık gelmelidir.

Mesajlar, Cloud Shell'de temel pull komutuyla da görüntülenebilir:

gcloud pubsub subscriptions pull subscription-id

Abonelik türleri, SDM API tarafından gönderilen etkinlik türleri ve bunların nasıl kullanılacağı hakkında daha fazla bilgi için Etkinlikler'e bakın.

Mesajları yönetme

Aboneliklerin temiz olması ve diğer abonelere yinelenen mesaj teslimlerinin önlenmesi için mesajlar düzenli olarak onaylanıp tamamen silinmelidir. Tüm abonelik mesajları, Pub/Sub Abonelikleri bölümünden manuel olarak silinebilir:

Google Cloud Pub/Sub Abonelikleri'ne git

  1. Abonelik Kimliği'ni tıklayın.
  2. Onaylayıp kalıcı olarak silmenin birkaç yolu vardır:
    1. Mesajlar panelini açmak için MESAJLARI GÖRÜNTÜLE'yi tıklayın. Onay mesajlarını etkinleştir onay kutusunu işaretleyin ve tüm mesajları görüntüleyip onaylamak için ÇEKİN'i tıklayın.
    2. Mevcut tüm mesajları görüntülemeden onaylayarak tamamen silmek için MESAJLARI SİL'i tıklayın. Onaylamak için SİL'i tıklayın.

Ayrıca, temel pull komutuyla --auto-ack işareti kullanılarak Cloud Shell'de mesajlar tamamen silinebilir:

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 kalmış olsa da bir üretim uygulaması için bu hızlı başlangıç kılavuzunda şimdiye kadar sahip olduğunuz gibi bir kullanıcı hesabı yerine, kimlik doğrulama amacıyla Hizmet hesaplarını kullanmanızı öneririz. Hizmet hesabı, bir kişi yerine bir uygulama veya sanal makine tarafından kullanılır ve kendi benzersiz hesap anahtarına sahiptir.

Device Accessile hizmet hesabı kimlik doğrulaması hakkında daha fazla bilgi edinmek için Etkinlikler bölümüne bakın.