Alexa Skills mit Azure Functions
Vor einiger Zeit habe ich ja bereits auf eine Möglichkeit hingewiesen, wie man seinen Alexa Skill für eine Azure Function verifizieren kann. Dies ist eine Grundvoraussetzung für die Veröffentlichung des Skills im Skill Store von Amazon. In diesem Beitrag möchte ich euch nun ein paar Beispiele von möglichen Skills aufzeigen, welche man mit der Hilfe von Azure Function schreiben kann.
Azure Functions im Docker Container
Im vergangenen Jahr habe ich zusammen mit meinen Arbeitskollegen Thomas und Robert immer mal wieder über Azure Functions berichtet. Diese haben wir immer über Microsoft Azure betrieben und vorgeführt, da die Integration zwischen diesen beiden Produkten hervorragend ist. Damit ist die Funktionalität aber auch auf den Servern von Microsoft vorhanden und technisch weltweit abruf- und verwendbar. Ich habe dann mal geschaut, wie man vielleicht eine Azure Function auch ohne Microsoft Azure betreiben kann und bin dann bei einem Docker-Container hängen geblieben. Bei Docker handelt es sich um eine Software, welche die Bereitstellung einer Anwendung vereinfachen möchte. Hierzu werden Container verwendet, welche bereits alle notwendigen Pakete beinhalten und daher leicht in Form von Dateien transportiert und installiert werden können. Als Basis dient hierbei ein Image, welches alle nötigen Komponenten beinhaltet und aus dem dann später ein Container erstellt werden kann. Ich möchte jetzt einmal aufzeigen, wie wir mit wenig Aufwand ein Azure Function Projekt in einem Docker Container laufen lassen können, so dass wir dies auch ohne Probleme auf den eigenen Servern laufen lassen können.
Zunächst öffnen wir Visual Studio und legen eine neues Azure Functions Projekt an.
ngrok: localhost nach außen freigeben
Wenn man beginnt an einer API zu arbeiten, wird diese meist zunächst über localhost verfügbar gemacht, aber dies hat zur Folge, dass der Zugriff auf die API wirklich nur auf dem eigenen Rechner möglich ist. An dieser Steller kommt ein kleines Kommandozeilen-Tool zum Einsatz, nämlich ngrok. Dieses Tool generiert eine URL für euch, welche den Zugriff von localhost auch von anderen Rechner ermöglicht. Dies hat den großen Vorteil, dass zum Beispiel gleich mehrere Entwickler Zugriff auf die API erhalten können, ohne selbst die API hosten zu müssen.
Rückblick: Azure Functions Meetup
Am vergangenen Donnerstag fand, wie bereits hier angekündigt, in den Räumlichkeiten der medialesson GmbH ein weiteres Meetup statt. Dieses Mal habe ich zusammen mit Robert eine Einführung in Azure Functions gegeben und dabei natürlich auch einen Blick auf den Serverless-Hype geworfen. Dabei haben wir zahlreiche verschiedene Demos gezeigt, wie z.B. die Erstellung eines Arbeitsreports mit Mite oder der automatischen Veröffentlichung der wöchentlichen Arbeitszeit auf Twitter. Wir haben auch einen kurzen Blick auf die Cognitive Services von Microsoft geworfen und dieses durch einen Chatbot und einer eigenen App Image Analyzer demonstriert.
Event-Tipp: Meetup zum Thema Azure Functions
Am 5. Juli findet das nächste Meetup in den Räumlichkeiten der medialesson GmbH in Pforzheim statt und zusammen mit Robert werde ich eine Einführung in Azure Functions geben. Dabei wollen wir nach einem kurzen theoretischen Teil sehr viele Demos zeigen, welche verschieden Anwendungsfällte von Azure Functions zeigen und gleichzeitig belegen, wie einfach die Entwicklung der ersten eigenen Azure Function ist.