
Vor Kurzem habe ich zwei Google Cloud-Zertifizierungen abgeschlossen – Professional Cloud Architect und Professional Data Engineer. Das Team von Google Tel Aviv hat sich gefreut und mir als kleines Dankeschön ein Google Home spendiert (danke, Nir Atias & Ifat Yanai!)
Jetzt, wo das neue Spielzeug da ist, wird es Zeit für ein bisschen Bastelspaß!
Meine Kinder gehen auf eine Schule am anderen Ende der Stadt und pendeln mit dem Schulbus. Ich wollte wissen, wann sie zu Hause sind, ohne jedes Mal das iPhone zu zücken und in der "Wo ist?"-App nachzusehen. Außerdem wollte ich ohnehin schon länger ein paar Google Assistant Actions schreiben ;-)
Mein ETA-Rechner sollte durchgängig serverless laufen. Als Endpoint habe ich Cloud Functions gewählt (lassen sich inzwischen auch in Python schreiben!), als persistente Speicherebene Cloud Datastore und für das sichere Ablegen von Secrets Cloud KMS.
Sobald jemand die Action (namens "school bus") aufruft, wird nach dem Namen des Kindes gefragt (falls man wie ich mehr als eines hat). Anschließend wird die Cloud Function ausgeführt.
Die Cloud Function holt sich alle nötigen Daten aus Datastore und ermittelt den Standort über die Find-My-iPhone-API.
https://gist.github.com/avivl/183d27f20cc1d8742f9f74853299790f
Steht der Standort fest, geht ein Aufruf an die Google Maps Directions API, um die ETA zu berechnen. Diese geht zurück an den Google Assistant, der sie dann vorliest oder anzeigt.
https://gist.github.com/avivl/f5a156eaf87d6a1c68b7b7a908777bdb
Ein Projekt, das Spaß gemacht hat – und mir im Alltag tatsächlich etwas bringt. Den vollständigen Code gibt es auf Github.
Lust auf mehr? Stöbern Sie in unserem Blog oder folgen Sie Aviv auf Twitter.