Ereignisse sind asynchron und werden von Google Cloud Pub/Sub in einem einzigen Thema pro ProjectEreignisse liefern Updates für alle Geräte und Gebäude und der Erhalt von Ereignissen ist solange das Zugriffstoken nicht vom Nutzer widerrufen wird und die Ereignisnachrichten nicht abgelaufen.
Ereignisse sind eine optionale Funktion der SDM API. Sie können können mithilfe Ihrer Google Cloud-Lösung Projekt arbeiten.
Veranstaltungen aktivieren
Ereignisse können in der Device Access Konsole aktiviert werden. Wählen Sie Ihr Projekt in der , falls Sie dies noch nicht getan haben.
Wenn Sie bereits Ereignisse aktiviert haben (z. B. während des Projekts Erstellung) Das Feld Pub/Sub-Thema im Bereich Projektinformationen sollte bereits einen -Wert, genannt Themen-ID, im folgenden Format:
projects/sdm-prod/topics/enterprise-project-id
Falls Sie Ereignisse nicht aktiviert haben:
- Klicken Sie auf das Symbol für Pub/Sub. Thema und wählen Sie Bearbeiten aus.
- Klicken Sie auf das Kästchen Ereignisse aktivieren und dann auf Speichern.
- Eine Themen-ID wird im oben gezeigten Format für Sie generiert.
Kopieren Sie Ihre Themen-ID. Sie benötigen sie, um ein Abo für das Thema zu erstellen. Ereignisnachrichten abgerufen werden können.
Pull-Abo erstellen
Bei einem Pull-Abo initiiert ein Abonnent Anfragen an die Pub/Sub- Server für Ereignisnachrichten in der Warteschlange. So können Sie schnell und einfach überprüfen, Ereignisse werden für Ihre autorisierten Geräte generiert.
Öffnen Sie Cloud Shell für Ihr Google Cloud-Projekt:
Führen Sie an der Cloud Shell-Eingabeaufforderung den folgenden Befehl aus, um einen Pull-Vorgang Abo Ihres Themas mit einem beliebigen subscription-id und Ihre eindeutige Themen-ID:
gcloud pubsub subscriptions create subscription-id --topic=projects/sdm-prod/topics/enterprise-project-id
Created subscription [projects/gcp-project-name/subscriptions/subscription-id].
Ereignisse initiieren
Um zum ersten Mal Ereignisse zu initiieren, nachdem das Pub/Sub-Abo abgeschlossen wurde erstellt wurde, starten Sie einen Aufruf, um Ihre Geräte als einmaligen Trigger aufzulisten:
curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token'
Ereignisse für alle Gebäude und Geräte werden nach diesem API-Aufruf veröffentlicht.
Ereignisse generieren
Ereignisse werden für alle Änderungen an Trait-Feldern generiert, von denen einige automatisch, manuell eingestellt sein.
Wenn die Umgebungstemperatur in der Nähe Ihres
Nest Thermostat ändert, ein Ereignis für
Temperatur
automatisch mit einem neuen Wert ambientTemperatureCelsius
gesendet.
Sie haben zwei Möglichkeiten, diese manuell zu generieren:
- den Status des Geräts physisch zu ändern, z. B. den Modus Ihren Nest Thermostat.
- Ereignis wie Bewegung, Person oder Geräusch auf einem Google Nest Cam Indoor.
- Gerätebefehl ausführen mit der SDM API.
Nachrichten ansehen
Ereignisnachrichten können Sie in Ihrem Google Cloud-Projekt im Bereich mit Pub/Sub-Abos:
Zu den Google Cloud Pub/Sub-Abos
- Klicken Sie auf die Abo-ID, die Sie zuvor erstellt haben.
- Auf dem Bildschirm Abodetails sollten die Aktivitäten für die Diagramm Anzahl unbestätigter Nachrichten. Dies weist darauf hin, dass Ereignisnachrichten durch. Wenn Sie keine Aktivität sehen, warten Sie einen Moment während oder generieren Sie weitere Ereignisse.
- Klicke auf NACHRICHTEN ANZEIGEN , um rufen Sie den Bereich Nachrichten auf.
- Klicken Sie auf PULL (Pull), um die Meldungen aufzurufen. Sie sollten den Aktionen entsprechen, die Sie zum Generieren von Ereignissen verwendet haben.
Sie können Nachrichten auch in Cloud Shell mit einem einfachen pull
-Befehl ansehen:
gcloud pubsub subscriptions pull subscription-id
Weitere Informationen zu Abotypen und den gesendeten Ereignistypen der SDM-API und deren Verwendung finden Sie unter Ereignisse:
Nachrichten verwalten
Nachrichten sollten regelmäßig bestätigt und dauerhaft gelöscht werden, damit das Abo nicht verloren geht. und zu vermeiden, dass Nachrichten mehrfach an andere Abonnenten gesendet werden. Alle Abonachrichten können manuell in den Pub/Sub-Abos dauerhaft gelöscht werden Abschnitt:
Zu den Google Cloud Pub/Sub-Abos
- Klicken Sie auf die Abo-ID.
- Es gibt mehrere Möglichkeiten, dies zu bestätigen und dauerhaft zu löschen:
- Klicke auf NACHRICHTEN ANZEIGEN , um rufen Sie den Bereich Nachrichten auf. Klicken Sie das Kästchen Bestätigungsnachrichten aktivieren an. und klicken Sie auf PULL, um alle Nachrichten anzusehen und zu bestätigen.
- Klicken Sie auf AUSWÄHLEN MESSAGES, um alle vorhandenen Nachrichten durch Bestätigung ohne wenn Sie sie ansehen. Klicke zum Bestätigen auf PURGE.
Sie können Nachrichten auch dauerhaft in Cloud Shell löschen, indem Sie das Flag --auto-ack
mit
einen einfachen pull
-Befehl:
gcloud pubsub subscriptions pull subscription-id --auto-ack
Abos verwalten
Abos können auf verschiedene Arten konfiguriert werden. In diesem Artikel wird beschrieben, Abo-Properties verwenden
Es bleibt Ihnen überlassen, wie Sie Abos und Nachrichten verwalten möchten. Produktionsanwendung empfiehlt sich die Verwendung von Dienstkonten für und nicht wie bisher ein Nutzerkonto, Startleitfaden. Ein Dienstkonto wird von einer Anwendung oder virtuellen Maschine verwendet, eine Person und hat einen eigenen eindeutigen Kontoschlüssel.
Weitere Informationen zur Dienstkontoauthentifizierung mit Device Accessfinden Sie unter Ereignisse.