- npm
-
Falls noch nicht vorhanden, installiere ask-cli:
sudo npm install --global ask-cli
-
Konfiguriere ask:
ask init
Folge den Anweisungen um deinen Amazon Developer- und AWS-Account zu verbinden (Um AWS-Credentials für ask zu erstellen, gehe nach der Anleitung vor, die hier zu finden ist)
-
Passe die Region für dein AWS-Profil an:
echo region=eu-west-1 | tee -a ~/.aws/credentials
Die AWS-Lambda-Funktion, die von deinem Skill aufgerufen wird, soll in Irland (Region EU-West-1) gehostet werden.
Damit sind die allgemeinen Einstellungen abgeschlossen.
Um dir den Einstieg zu erleichtern, klone dieses Repository und wechsle in das Verzeichnis:
git clone https://github.com/ironmaya/hackerschool.git && cd hackerschool
Schon jetzt hast du einen voll funktionfähigen Alexa Skill. Um ihn zu deployen musst du nur noch einige Meta-Daten eintragen.
In der Datei skill.json
musst du die Platzhalter mit den spitzen Klammern ersetzten:
{
"manifest": {
"publishingInformation": {
"locales": {
"de-DE": {
"summary": "<KURZBESCHREIBUNG>",
"examplePhrases": [
"<BEISPIEL-AUFRUFE>"
],
"name": "<SKILL-NAME>",
"description": "<BESCHREIBUNG>"
}
},
"isAvailableWorldwide": true,
"category": "<KATEGORIE>",
"distributionCountries": []
},
"apis": {
"custom": {
"endpoint": {
"sourceDir": "lambda/custom",
"uri": "<NAME-FUER-LAMBDA-FUNKTION>"
}
}
},
"manifestVersion": "1.0"
}
}
Schlüssel | Bedeutung | Beispiel |
---|---|---|
summary |
Eine Kurzzusammenfassung deines Skills, die im Store angezeigt wird | "Mein erster Alexa-Skill" |
examplePhrases |
Eine Liste von Beispiel-Aufrufen deines Skills, die im Store angezeigt werden | ["Alexa, öffne hackerschool", |
name |
Der Name deines Skills (nicht zu verwechseln mit dem invocationName , dem Aufruf-Namen der bestimmt, wie der Skill aufgerufen werden kann) |
"hackerschool-skill" |
description |
Eine Beschreibung deines Skills, die im Store angezeigt wird | "Diesen Skill haben ich bei der Hackerschool gebaut. Wenn man ihn begrüßt, grüßt er zurück." |
category |
Die Kategorie, zu der dein Skill gehört (Achtung: hier sind nur bestimmte Werte erlaubt, siehe Dokumentation) | "GAME" |
uri |
In unserem Fall schlicht ein Name für die Lambda-Funktion | "custom-hackerschool" |
Zuletzt musst du noch dem Sprachmodell beibringen, auf welchen Namen (invocation name) dein Skill hören soll.
In der Datei /models/de-DE.json
musst du lediglich in Zeile 4 den invocationName
eintragen. Achte darauf, dass der Name, nach deutschen Ausspracheregeln möglichst so klingt, wie du ihn sagen willst.
Damit ist der Skill fertig zum Deployen.
Um nun deinen Skill zu deployen, also die Lambda-Funktion bei AWS hochzuladen und den Skill in die Alexa-Cloud, musst du folgenden Befehl ausführen:
ask deploy
Das dauert dann einen Moment, und wenn alles gut läuft, steht am Ende auf der Konsole
Your skill is now deployed and enabled in the development stage. Try simulate your Alexa skill skill using "ask dialog" command.
Danach kannst du mit dem Befehl
ask dialog --locale de-DE
zum Testen deines Skills ein Gespräch mit Alexa über die Kommandozeile beginnen. Alternativ kann du natürlich auch mit einem Echo-Gerät testen, das im gleichen Amazon Account angemeldet ist.
Herzlichen Glückwunsch! Wenn du alles richtig gemacht hast, ist dein erster Alexa Skill nun einsatzbereit. Sag doch mal: "Alexa, sag <InvocationName deines Skills> hallo"
//TODO