Iscriviti agli eventi

Gli eventi sono asincroni e gestiti da Google Cloud Pub/Sub, in un unico argomento Project. Gli eventi forniscono aggiornamenti per tutti i dispositivi e le strutture; inoltre, la ricezione degli eventi è garantito purché il token di accesso non venga revocato dall'utente e i messaggi di evento non siano stati scaduto.

Gli eventi sono una funzionalità facoltativa dell'API SDM. Possono può essere implementato e verificato facilmente utilizzando Google Cloud progetto.

Attiva eventi

Puoi attivare gli eventi nella Device Access console. Seleziona il tuo progetto nel Console, se non l'hai ancora fatto.

Vai alla Device Access console

Se hai già attivato gli eventi (ad esempio, durante la fase di creazione), il campo argomento Pub/Sub della sezione Informazioni sul progetto dovrebbe già avere un chiamato ID argomento, nel formato:

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

Se non hai attivato gli eventi:

  1. Fai clic sull'icona per Pub/Sub e seleziona Modifica.
  2. Seleziona Abilita eventi e fai clic su Salva.
  3. Viene generato automaticamente un ID argomento nel formato mostrato sopra.

Copia il tuo ID argomento, che ti servirà per creare una sottoscrizione all'argomento. è possibile recuperare i messaggi di evento.

Creare una sottoscrizione pull

Una sottoscrizione pull è quella in cui un sottoscrittore avvia richieste a Pub/Sub per i messaggi di evento in coda. Si tratta di un metodo rapido e semplice per verificare che vengono generati eventi per i dispositivi autorizzati.

Apri Cloud Shell per il tuo progetto Google Cloud:

Vai a Google Cloud Shell

Nel prompt di Cloud Shell, esegui questo comando per creare un pull abbonamento al tuo argomento, utilizzando subscription-id come preferisci e il tuo ID argomento univoco:

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

Avvia eventi

ad avviare eventi per la prima volta dopo aver completato la sottoscrizione Pub/Sub. creato, effettua una chiamata per elencare i dispositivi come trigger una tantum:

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

Gli eventi per tutte le strutture e i dispositivi verranno pubblicati dopo questa chiamata API.

Genera eventi

Vengono generati eventi per tutte le modifiche ai campi dei trait, alcune delle quali automatiche. un po' di manuale.

Ad esempio, se la temperatura ambiente vicino al Nest Thermostat cambia, un evento per Temperatura trait sarà verrà inviato automaticamente con un nuovo valore ambientTemperatureCelsius.

Per generarne uno manualmente:

  1. Cambiare fisicamente lo stato del dispositivo, ad esempio la modalità di il tuo Nest Thermostat.
  2. Attivare un evento, ad esempio un movimento, una persona o un suono su una Google Nest Cam Indoor.
  3. Eseguire un comando del dispositivo utilizzando l'API SDM.

Visualizza messaggi

I messaggi di evento possono essere visualizzati nel progetto Google Cloud, nella Sezione Sottoscrizioni Pub/Sub:

Vai agli abbonamenti Google Cloud Pub/Sub

  1. Fai clic sull'ID abbonamento creato in precedenza.
  2. Nella schermata Dettagli abbonamento dovresti trovare attività relative a Grafico Conteggio messaggi non bloccati. Questo indica che i messaggi di evento sono arrivati per il tuo abbonamento. Se non vedi alcuna attività, attendi un po' durante il caricamento o generarne altri.
  3. Fai clic su VISUALIZZA MESSAGGI per per visualizzare il riquadro Messaggi.
  4. Fai clic su PULL per visualizzare i messaggi. Devono corrispondere alle azioni utilizzato per generare gli eventi.

I messaggi possono essere visualizzati anche in Cloud Shell con un comando pull di base:

gcloud pubsub subscriptions pull subscription-id

Per ulteriori informazioni sui tipi di abbonamento e sui tipi di eventi inviati dall'API SDM e su come utilizzarle, consulta Eventi.

Gestisci messaggi

Per mantenere un abbonamento, i messaggi devono essere confermati ed eliminati regolarmente ed evitare la doppia consegna dei messaggi ad altri sottoscrittori. Tutti i messaggi di sottoscrizione possono essere eliminati manualmente nelle sottoscrizioni Pub/Sub sezione:

Vai agli abbonamenti Google Cloud Pub/Sub

  1. Fai clic sull'ID abbonamento.
  2. Esistono alcuni modi per confermare ed eliminare definitivamente:
    1. Fai clic su VISUALIZZA MESSAGGI per per visualizzare il riquadro Messaggi. Seleziona la casella Abilita messaggi ACK e fai clic su PULL per visualizzare e confermare tutti i messaggi.
    2. Fai clic su ESPLORA MESSAGES per eliminare definitivamente tutti i messaggi esistenti confermando senza visualizzandole. Fai clic su PURGE per confermare.

I messaggi possono anche essere eliminati definitivamente in Cloud Shell utilizzando il flag --auto-ack con un comando pull di base:

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

Gestisci sottoscrizioni

Gli abbonamenti possono essere configurati in diversi modi, come descritto in Utilizzare le proprietà delle sottoscrizioni.

Mentre la modalità di gestione delle iscrizioni e dei messaggi spetta a te, di produzione ti consigliamo di usare Account di servizio per piuttosto che un account utente come hai fatto finora in questa breve sessione guida introduttiva. Un account di servizio è utilizzato da un'applicazione o da una macchina virtuale, non una persona e ha una propria chiave di account univoca.

Per ulteriori informazioni sull'autenticazione dell'account di servizio con Device Access, consulta Eventi.