Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Descubra o ETA do seu filho na volta da escola com Google Home, Cloud Functions, Datastore, Maps Directions API e um toque de Cloud KMS ;-)

By Aviv LauferSep 11, 20182 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

1 tkfa3vgeiwubmszkk7gqxw

Recentemente, conquistei duas certificações do Google Cloud: Professional Cloud Architect e Professional Data Engineer. O pessoal do Google Tel-Aviv foi super gente boa e me deu um Google Home como agradecimento (valeu, Nir Atias e Ifat Yanai!)

Agora que ganhei meu brinquedo novo, bora se divertir!

Meus filhos estudam em uma escola do outro lado da cidade e vão de ônibus escolar. Eu queria saber a que horas eles iam chegar em casa sem precisar pegar o celular e abrir o app Buscar iPhone. Também estava atrás de uma desculpa para criar algumas actions para o Google Assistant ;-)

Decidi que meu estimador de ETA seria 100% serverless. Optei por usar Cloud Functions (que agora dá para escrever em Python!) como endpoint, Cloud Datastore como camada de armazenamento persistente e Cloud KMS como forma segura de guardar segredos.

Quando o usuário ativa a action (chamada school bus), ele é perguntado pelo nome do filho (caso, como eu, tenha mais de um). Em seguida, a cloud function é acionada.

A cloud function busca no Datastore todos os dados necessários e pega a localização pela API do Find My iPhone.

https://gist.github.com/avivl/183d27f20cc1d8742f9f74853299790f

Com a localização em mãos, é feita uma chamada à Google Maps Direction API para obter o ETA. O ETA volta para o Google Assistant, que reproduz ou exibe a informação para o usuário.

https://gist.github.com/avivl/f5a156eaf87d6a1c68b7b7a908777bdb

Foi um projeto divertido e que ainda me trouxe valor no dia a dia. O código completo está disponível no Github.

Quer mais histórias? Dá uma olhada no nosso blog ou siga o Aviv no Twitter.