Subskrybuj wydarzenia

Zdarzenia są asynchroniczne i zarządzane przez Google Cloud Pub/Sub w jednym temacie na ProjectZdarzenia zapewniają aktualizacje dotyczące wszystkich urządzeń i obiektów, a odbiór zdarzeń jest dopóki token dostępu nie zostanie unieważniony przez użytkownika, a komunikaty o zdarzeniu nie wygasła.

Zdarzenia to opcjonalna funkcja interfejsu SDM API. Mogą można łatwo wdrożyć i zweryfikować za pomocą w projektach AI.

Włącz wydarzenia

Zdarzenia można włączyć w Device Access konsoli. Wybierz swój projekt w Konsola, jeśli jeszcze nie masz tego za sobą.

Otwórz konsolę Device Access

Jeśli masz już włączone zdarzenia (na przykład w trakcie projektu tworzenie), pole Temat Pub/Sub w sekcji Informacje o projekcie powinno już zawierać identyfikator tematu, w formacie:

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

Jeśli nie masz włączonych zdarzeń:

  1. Kliknij ikonę dla Pub/Sub temat i wybierz Edytuj.
  2. Zaznacz Włącz zdarzenia i kliknij Zapisz.
  3. Identyfikator tematu jest generowany w podanym wyżej formacie.

Skopiuj identyfikator tematu. Będzie on potrzebny do utworzenia subskrypcji tematu, dzięki czemu i wiadomości o zdarzeniach.

Tworzenie subskrypcji pull

W ramach subskrypcji pull subskrybent inicjuje żądania do Pub/Sub do obsługi komunikatów o zdarzeniach w kolejce. W ten sposób możesz szybko i łatwo sprawdzić, są generowane zdarzenia dla autoryzowanych urządzeń.

Otwórz Cloud Shell dla swojego projektu Google Cloud:

Otwórz Google Cloud Shell

W wierszu poleceń Cloud Shell uruchom to polecenie, aby utworzyć metodę pull subskrypcję kanału, za pomocą dowolnego subscription-id. oraz niepowtarzalny identyfikator tematu:

gcloud pubsub subscriptions create subscription-id --topic=projects/sdm-prod/topics/enterprise-project-id
Created subscription [projects/gcp-project-name/subscriptions/subscription-id].

Inicjowanie zdarzeń

Aby zainicjować zdarzenia po raz pierwszy po zakończeniu subskrypcji Pub/Sub utwórz wywołanie, aby wyświetlić listę urządzeń jako wyzwalacza jednorazowego:

curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer access-token'

Zdarzenia dotyczące wszystkich struktur i urządzeń zostaną opublikowane po wywołaniu tego interfejsu API.

Generowanie zdarzeń

Zdarzenia są generowane w przypadku wszystkich zmian w polach cech, z których niektóre są automatyczne, ręcznie.

Jeśli na przykład temperatura otoczenia w pobliżu Nest Thermostat, zdarzenie dotyczące Temperatura cechy zostanie automatycznie wysłana z nową wartością ambientTemperatureCelsius.

Aby wygenerować go ręcznie:

  1. zmieniać fizyczny stan urządzenia, na przykład tryb do urządzenia Nest Thermostat.
  2. Wywołaj zdarzenie, takie jak ruch, człowiek lub dźwięk na kamera wewnętrzna Google Nest Cam.
  3. Wykonywanie polecenia na urządzeniu za pomocą interfejsu SDM API.

Wyświetl wiadomości

Komunikaty o zdarzeniach można wyświetlać w projekcie Google Cloud w sekcji Sekcja subskrypcji Pub/Sub:

Otwórz subskrypcje Google Cloud Pub/Sub

  1. Kliknij utworzony wcześniej identyfikator subskrypcji.
  2. Na ekranie Szczegóły subskrypcji powinna być widoczna aktywność: Wykres Liczba niepotwierdzonych wiadomości. Oznacza to, że pojawiły się komunikaty o zdarzeniu, w ramach subskrypcji. Jeśli nie widzisz żadnej aktywności, poczekaj chwilę lub wygenerować kilka kolejnych zdarzeń.
  3. Kliknij WYŚWIETL WIADOMOŚCI, aby po wyświetleniu panelu Wiadomości.
  4. Kliknij PULL, aby wyświetlić wiadomości. Powinny być one związane z działaniami. używanych do generowania zdarzeń.

Wiadomości można też wyświetlać w Cloud Shell przy użyciu podstawowego polecenia pull:

gcloud pubsub subscriptions pull subscription-id

Więcej informacji o typach subskrypcji i typach wysyłanych zdarzeń i o tym, jak z nich korzystać, Wydarzenia.

Zarządzanie wiadomościami

Aby zachować subskrypcję, wiadomości powinny być regularnie potwierdzane i usuwane uniknąć powielania wiadomości do innych subskrybentów. Wszystkie wiadomości subskrypcji można ręcznie usunąć w subskrypcjach Pub/Sub :

Otwórz subskrypcje Google Cloud Pub/Sub

  1. Kliknij identyfikator subskrypcji.
  2. Istnieje kilka sposobów na potwierdzenie i usunięcie danych:
    1. Kliknij WYŚWIETL WIADOMOŚCI, aby po wyświetleniu panelu Wiadomości. Zaznacz opcję Włącz potwierdzenia. i kliknij PULL, aby wyświetlić i potwierdzić wszystkie wiadomości.
    2. Kliknij WYSZUKAJ WIADOMOŚCI, aby trwale usunąć wszystkie istniejące wiadomości przez potwierdzenie bez podczas ich przeglądania. Kliknij WYCZYŚĆ, aby potwierdzić.

Wiadomości mogą być też trwale usuwane w Cloud Shell przy użyciu flagi --auto-ack z podstawowe polecenie pull:

gcloud pubsub subscriptions pull subscription-id --auto-ack

Zarządzaj subskrypcjami

Subskrypcje można konfigurować na różne sposoby, zgodnie z opisem w sekcji Korzystanie z właściwości subskrypcji

To, jak chcesz zarządzać subskrypcjami i wiadomościami, zależy tylko od Ciebie, aplikacji produkcyjnej, zalecamy korzystanie z Konta usługi dla uwierzytelnianie, a nie konto użytkownika, jak do tej pory . Konto usługi jest używane przez aplikację lub maszynę wirtualną, a nie przez danej osoby i ma własny, unikalny klucz konta.

Więcej informacji o uwierzytelnianiu konta usługi za pomocą Device Accessznajdziesz tutaj: Wydarzenia.