
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.