Inscrever-se em eventos

Os eventos são assíncronos e gerenciados pelo Google Cloud Pub/Sub, em um único tópico por Project: Os eventos fornecem atualizações para todos os dispositivos e estruturas, e o recebimento de eventos é desde que o token de acesso não seja revogado pelo usuário e as mensagens de evento não tenham sido expirou.

Os eventos são um recurso opcional da API SDM. Eles podem podem ser facilmente implementados e verificados usando o Google Cloud em um projeto de IA.

Ativar eventos

Os eventos podem ser ativados no Device Access Console. Selecione seu projeto na no console do Google Cloud, caso ainda não tenha feito isso.

Acesse o Device Access Console

Se você já tiver ativado os eventos (por exemplo, durante criação), o campo Tópico do Pub/Sub na seção Informações do projeto já deve ter uma , chamado de ID de tópico, no formato de:

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

Se você não ativou os eventos:

  1. Clique no ícone para Pub/Sub tópico e selecione Editar.
  2. Marque Ativar eventos e clique em Salvar.
  3. Um ID de tema é gerado para você no formato mostrado acima.

Copie o ID do tópico. Você vai precisar dele para criar uma assinatura mensagens de eventos podem ser recuperadas.

Criar uma assinatura de pull

Uma assinatura de pull é o local em que um assinante inicia solicitações para o Pub/Sub para mensagens de eventos na fila. Essa é uma maneira rápida e fácil de verificar estão sendo gerados para seus dispositivos autorizados.

Abra o Cloud Shell para seu projeto do Google Cloud:

Acesse o Google Cloud Shell

No prompt do Cloud Shell, execute o seguinte comando para criar um pull assinatura do seu tópico, usando a subscription-id que você quiser e seu ID de tópico exclusivo:

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

Iniciar eventos

Para iniciar eventos pela primeira vez depois que a assinatura do Pub/Sub for criado, faça uma chamada para listar seus dispositivos como um acionador único:

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

Eventos para todas as estruturas e dispositivos serão publicados após essa chamada de API.

Gerar eventos

Eventos são gerados para todas as alterações de campos de características. Algumas delas são automáticas, manual.

Por exemplo, se a temperatura ambiente perto do "Mudanças no Nest Thermostat", um evento para a A característica da temperatura vai serão enviadas automaticamente com um novo valor ambientTemperatureCelsius.

Para gerar um manualmente:

  1. Mudar fisicamente o estado do dispositivo, como mudar o modo de o Nest Thermostat.
  2. Acionar um evento, como movimento, pessoa ou som, em uma Google Nest Cam Indoor.
  3. Executar um comando de dispositivo usando a API SDM.

Veja as mensagens

É possível conferir as mensagens de eventos no seu projeto do Google Cloud na Seção "Assinaturas" do Pub/Sub:

Acessar "Assinaturas" do Google Cloud Pub/Sub

  1. Clique no ID da assinatura que você criou anteriormente.
  2. Na tela Detalhes da assinatura, é exibida a atividade do Gráfico Contagem de mensagens não confirmadas. Isso indica que as mensagens de evento chegaram para sua assinatura. Se nenhuma atividade for exibida, aguarde um pouco ao mesmo tempo ou gerar mais alguns eventos.
  3. Clique em VER MENSAGENS para abra o painel Mensagens.
  4. Clique em PULL para ver as mensagens. Eles devem corresponder às ações que você usou para gerar eventos.

Também é possível visualizar as mensagens no Cloud Shell com um comando pull básico:

gcloud pubsub subscriptions pull subscription-id

Para mais informações sobre os tipos de assinatura e de eventos enviados pela API SDM e como usá-los, consulte Eventos.

Gerenciar mensagens

As mensagens precisam ser confirmadas e limpas regularmente para manter uma assinatura limpar e evitar a entrega de mensagens duplicadas para outros assinantes. Todos as mensagens de assinatura podem ser limpas manualmente na seção de assinaturas seção:

Acessar "Assinaturas" do Google Cloud Pub/Sub

  1. Clique no ID da assinatura.
  2. Há algumas maneiras de confirmar e limpar:
    1. Clique em VER MENSAGENS para abra o painel Mensagens. Marque a caixa Ativar mensagens de confirmação e clique em PULL para conferir e confirmar todas as mensagens.
    2. Clique em LIMPAR MENSAGENS para limpar todas as mensagens existentes confirmando o recebimento sem visualizando-os. Clique em LIMPAR para confirmar.

As mensagens também podem ser limpas no Cloud Shell usando a sinalização --auto-ack com um comando pull básico:

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

Gerenciar assinaturas

As assinaturas podem ser configuradas de várias formas, como descrito em Como usar propriedades de assinatura.

Embora você decida gerenciar as inscrições e as mensagens, aplicativo de produção, recomendamos o uso Contas de serviço para autenticação, em vez de uma conta de usuário como você tem até agora neste guia rápido guia de início. Uma conta de serviço é usada por um aplicativo ou uma máquina virtual, uma pessoa e tem sua própria chave de conta exclusiva.

Para mais informações sobre a autenticação da conta de serviço com Device Access, consulte Eventos.