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ą.
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ń:
- Kliknij ikonę dla Pub/Sub temat i wybierz Edytuj.
- Zaznacz Włącz zdarzenia i kliknij Zapisz.
- 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:
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:
- zmieniać fizyczny stan urządzenia, na przykład tryb do urządzenia Nest Thermostat.
- Wywołaj zdarzenie, takie jak ruch, człowiek lub dźwięk na kamera wewnętrzna Google Nest Cam.
- 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
- Kliknij utworzony wcześniej identyfikator subskrypcji.
- 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ń.
- Kliknij WYŚWIETL WIADOMOŚCI, aby po wyświetleniu panelu Wiadomości.
- 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
- Kliknij identyfikator subskrypcji.
- Istnieje kilka sposobów na potwierdzenie i usunięcie danych:
- 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.
- 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.