Etkinliklere Abone Ol

Etkinlikler eşzamansız olup Google Cloud Pub/Sub tarafından Projectbaşına tek bir konuda yönetilir. Etkinlikler, tüm cihazlar ve yapılarla ilgili güncellemeler sunar. Erişim jetonunun kullanıcı tarafından iptal edilmediği ve etkinlik mesajlarının süresinin dolmamış olması koşuluyla etkinliklerin alınması garanti edilir.

Etkinlikler, SDM API'sinin isteğe bağlı bir özelliğidir. Bu uygulamalar, Google Cloud projenizi kullanarak kolayca uygulanabilir ve doğrulanabilir.

Etkinlikleri etkinleştir

Etkinlikler, konsolda Device Access etkinleştirilebilir. Henüz yapmadıysanız konsolda projenizi seçin.

Konsola Device Access gidin

Etkinlikleri zaten etkinleştirdiyseniz (örneğin, proje oluşturma sırasında) Proje Bilgileri bölümündeki Pub/Sub konusu alanında Konu Kimliği adı verilen ve aşağıdaki gibi bir değer bulunmalıdı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 kopyalayarak konu mesajlarının alınabilmesi için konu aboneliği oluşturmanız gerekir.

Pull aboneliği oluşturma

Pull aboneliği, abonelerin sıraya alınan etkinlik mesajları için Pub/Sub sunucusuna istek başlattığı yerdir. Bu, yetkili cihazlarınız için etkinliklerin 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şlat

Pub/Sub aboneliği oluşturulduktan sonra etkinlikleri ilk kez başlatmak için cihazlarınızı tek seferlik bir 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 cihazlardaki etkinlikler, bu API çağrısından sonra yayınlanır.

Etkinlik oluşturma

Etkinlikler, bazıları otomatik, bazıları manuel olan tüm özellik alanı değişiklikleri için oluşturulur.

Örneğin, Nest Termostatı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 bir etiket oluşturmak için:

  1. Nest Thermostat modunu değiştirmek gibi cihazınızın durumunu fiziksel olarak değiştirin.
  2. Google Nest Cam iç mekandaki hareket, kişi veya ses gibi bir etkinliği tetikleyin.
  3. SDM API'yi kullanarak bir cihaz komutu çalıştırın.

Mesajları göster

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

Google Cloud Pub/Sub Abonelikleri'ne gidin

  1. Daha önce oluşturduğunuz Abonelik Kimliğini tıklayın.
  2. Abonelik ayrıntıları ekranında, Paketlenmemiş mesaj sayısı grafiği için etkinlik gösterilir. 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.
  3. Mesajlar panelini açmak için İLETİLERİ GÖRÜNTÜLE'yi tıklayın.
  4. İletileri görüntülemek için ÇEK'i tıklayın. Etkinlikleri oluşturmak için kullandığınız işlemlere karşılık gelmeleri gerekir.

Mesajlar, Cloud Shell'de temel bir 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 konusuna bakın.

Mesajları yönetme

Aboneliğin temiz kalması için mesajlar düzenli olarak onaylanıp tamamen silinmeli ve diğer abonelere mesaj gönderiminin önüne geçilmelidir. Tüm abonelik mesajları, Pub/Sub Abonelikler bölümünden manuel olarak tamamen silinebilir:

Google Cloud Pub/Sub Abonelikleri'ne gidin

  1. Abonelik kimliğini tıklayın.
  2. Onaylamak ve silmek için kullanabileceğiniz birkaç yöntem vardır:
    1. Mesajlar panelini açmak için İLETİLERİ GÖRÜNTÜLE'yi tıklayın. Mesaj mesajlarını etkinleştir onay kutusunu işaretleyin ve tüm mesajları görüntülemek ve onaylamak için YAYINLA'yı tıklayın.
    2. Mevcut tüm mesajları görüntülemeden onaylayarak tamamen silmek için İLETİLERİ SATIN AL'ı tıklayın. Onaylamak için YAYINLA'yı tıklayın.

Mesajlar, temel bir pull komutuyla --auto-ack işareti kullanılarak da Cloud Shell'de 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önetmek istediğinize siz karar verin. Ancak üretim uygulamaları için kimlik doğrulama için Hizmet Hesaplarını kullanmanızı öneririz. Böylece, bu hızlı başlangıç kılavuzunda olduğu gibi bir kullanıcı hesabı oluşturmanız gerekmez. Hizmet hesabı, bir uygulama veya sanal makine tarafından kullanılır, gerçek kişi tarafından kullanılamaz ve kendi benzersiz hesap anahtarına sahiptir.

Device Accessile hizmet hesabı kimlik doğrulaması hakkında daha fazla bilgi için Etkinlikler sayfasını inceleyin.