
Ho appena ottenuto due certificazioni Google Cloud: Professional Cloud Architect e Professional Data Engineer. I ragazzi di Google Tel-Aviv si sono complimentati regalandomi un Google Home (grazie Nir Atias e Ifat Yanai!).
Ora che ho il nuovo giocattolo, è ora di divertirsi!
I miei figli vanno a scuola dall'altra parte della città e si spostano con lo scuolabus: volevo sapere quando sarebbero arrivati a casa senza dover tirare fuori il telefono e aprire Trova il mio iPhone. E poi cercavo una scusa per scrivere qualche action per Google Assistant ;-)
Ho voluto uno stimatore di ETA interamente serverless. Ho scelto Cloud Functions (che ora si scrivono anche in Python!) come endpoint, Cloud Datastore come livello di storage persistente e Cloud KMS per custodire in sicurezza i segreti.
Quando l'utente attiva l'action (si chiama school bus), gli viene chiesto il nome del figlio (utile se, come me, ne avete più di uno). A quel punto parte la cloud function.
La cloud function recupera da Datastore tutti i dati necessari e ottiene la posizione tramite l'API di Trova il mio iPhone.
https://gist.github.com/avivl/183d27f20cc1d8742f9f74853299790f
Ottenuta la posizione, una chiamata all'API Google Maps Directions calcola l'ETA, che viene poi restituito a Google Assistant, il quale lo annuncia o lo mostra all'utente.
https://gist.github.com/avivl/f5a156eaf87d6a1c68b7b7a908777bdb
È stato un progetto divertente e di valore concreto per me. Il codice completo è disponibile su Github.
Vuoi altre storie come questa? Dai un'occhiata al nostro blog oppure segui Aviv su Twitter.