Eine Alexa Skill erstellen: node.js + AWS Lambda

Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer. 21.5" iMac - 2.9GHz Intel Core i5, 16GB RAM, 1TB Fusion Drive HDD / 128GB iPhone 7 / 128GB iPad 9,7" (2017) / 15" MacBook Pro (Mitte 2014) in der Firma...

Das könnte Dich auch interessieren...

5 Antworten

  1. Stefan sagt:

    Hallo Claus,

    erst einmal vielen Dank und Kompliment zu Deinem Blog.

    Bei der Suche, nach Informationen, wie man Skills für Alexa selbst schreiben kann, bin ich auf Deine Anleitung zum Skill „Flugzeuge über Otzberg“ gestoßen. Eigentlich konnte ich Deiner Erklärung soweit folgen. Wenn ich am Ende im Service Simulator die Funktion teste, erhalte ich jedoch als Ausgabe diese Fehlermeldung: „The remote endpoint could not be called, or the response it returned was invalid.“ Ich habe den Platzhalter aus der Zeile:
    const APP_ID = ‚MUSS_AUS_DEM_VORHERIGEN_SCHRITTEN_ÜBERNOMMEN_WERDEN‘; mit der Application ID des Skills ersetzt. Bei der Zeile 49 “ host: ‚www.YOURDOMAIN.de‘,“ war ich mir nicht sicher, welche Domain ich eintragen muss. Google habe ich versucht, genauso wie flightradar. Beides hat leider nicht geklappt.

    Es wäre schön, wenn Du mir einen Tipp geben könntest, woran es liegen könnte. Woher weiß der Skill, wo sich Alexa (Otzberg) befindet? Die Flugdaten müssen ja von einem Webdienst stammen. Diesen muss man dann sicher in dem Quellcode eingeben.

    Wie füge ich in der Lambda Funktion die node,js ein? Unter Function Code wird mir als Standart die index.js angezeigt. Muss diese gelöscht werden und dafür die node,js (mit entsprechendem Quellcode) erstellt werden?

    Vielen Dank im Voraus für Deine Hilfe!!

    Viele Grüße aus dem Rheinland,

    Stefan

    • Claus Wolf sagt:

      Hallo Stefan,

      Ich habe einen Webservice geschrieben, der weiß, wo Otzberg liegt und die Daten für Amazon Echo aufbereitet zur Verfügung stellt. Die Skill selbst ist also entsprechend blöd, und ruft lediglich den Webservice ab und liest die Daten aus. Das hatte ich auch in Absatz 2 & 3 des Artikels als einleitende Erklärung hinzugedacht. Sorry, dass das offensichtlich genug war.

      Unter www. Yourdomain.de musst du also die URL deines Webservice hinterlegen, dafür braucht es eine Domain, oder zu mindestens eine statische IP, dyndns dürfte auch gehen, aber ohne diese Voraussetzung wirst du leider nicht weiterkommen. Sorry…

      • Stefan sagt:

        Hey,

        Danke für Deine schnelle Antwort. Okay, dann weiß ich zumindest Bescheid. Leider habe ich keine Ahnung, wie man einen entsprechenden Webservice schreibt. Deine Idee finde ich trotzdem super. Ich fange gerade erst an, mich in das Thema einzuarbeiten. Einfach gehaltene Beispiel Skills helfen dabei ganz gut, die Sache zu verstehen.

        Schade, so wird mein Projekt, Deinen Skill nachzuvollziehen wohl leider an dieser Stelle zuende gehen.

        Wünsche einen guten Rutsch ins neue Jahr und noch einmal vielen Dank für die Erklärung!

        • Claus Wolf sagt:

          Wenn ich mal so richtig Zeit habe, könnte ich mir vorstellen, das raspberry Pi Projekt, dass den WebService befeuert mit anderen zu teilen. Der Quelltext ist aber nicht so sauber, dass ich das jetzt schon tun wollte. openSource ist harte Arbeit ;)

          Dir weiterhin viel Spaß mit Amazon Echo & Co!

  1. 2. Oktober 2017

    […] Habe es erst mit Amazon’s “Minecraft Helper” Beispiel probiert – hat nicht geklappt. AWS meinte irgendwas sei falsch. Vernünftige Videos auf YouTube hab ich auch nicht gefunden – ich probier es jetzt mal mit dem Tutorial hier […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.