Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Calcula la hora de llegada de tus hijos desde la escuela con Google Home, Cloud Functions, Datastore, Maps Directions API y algo de Cloud KMS ;-)

By Aviv LauferSep 11, 20182 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

1 tkfa3vgeiwubmszkk7gqxw

Hace poco obtuve dos certificaciones de Google Cloud: Professional Cloud Architect y Professional Data Engineer. El equipo de Google Tel-Aviv tuvo un gran gesto y me regaló un dispositivo Google Home como muestra de agradecimiento (¡gracias Nir Atias e Ifat Yanai!)

Ahora que tengo mi juguete nuevo, ¡toca divertirse un rato!

Mis hijos van a una escuela al otro lado de la ciudad y se mueven en autobús escolar, así que quería saber a qué hora iban a llegar a casa sin tener que sacar el teléfono y abrir la app Find my iPhone. Además, andaba buscando una excusa para programar algunas acciones para Google Assistant ;-)

Decidí que mi estimador de ETA fuera 100% serverless. Opté por Cloud Functions (¡que ahora se puede escribir en Python!) como endpoint, Cloud Datastore como capa de almacenamiento persistente y Cloud KMS como mecanismo seguro para guardar los secrets.

Cuando un usuario activa la acción (llamada school bus), se le pregunta el nombre de su hijo (por si, como yo, tienes más de uno). Acto seguido se invoca la cloud function.

La cloud function obtiene de Datastore todos los datos necesarios y consulta la ubicación mediante la API de Find My iPhone.

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

Con la ubicación en mano, se hace una llamada a la API de Google Maps Directions para obtener la ETA. Esa ETA se devuelve a Google Assistant, que la reproduce o la muestra al usuario.

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

Fue un proyecto divertido y con valor agregado para mí. El código completo está disponible en Github.

¿Quieres más historias? Pásate por nuestro blog o sigue a Aviv en Twitter.