Open kkaiser12 opened 5 years ago
https://moodle.hm.edu/mod/page/view.php?id=351747
Hier steht im zweiten Teil wie man zu einer eigenen Funktion die DynamoDB hinzufügt. Die Rolle, bei der man die neuen policies hinzufügt ist die lambda_basic_execution.
Edit: Okay kann man vermutlich vergessen, man erstellt die Datenbank inklusive Elemente direkt im AWS, also wenn man eine Funktion nicht iwie sharen kann muss das alles am Ende über meine Funktion laufen, was ich jetzt nicht so prickelnd finde
Ok, ist ja echt blöd. Aber da es ja wahrscheinlich nicht Tausende Elemente sein werden, kann es ja einfach jeder bei sich erstellen oder?
Edit: Ich hab das grad mal erstellt, weil sonst meine Funktion nicht mehr läuft. Das Ganze funktioniert nur, wenn ich im PackBagStreamHandler die Zeile ".withSkillId("id")" auskommentiere. Was macht man denn damit? Und muss ich die Id dann noch irgendwo hinzufügen, damit das läuft?
Ich bin mittlerweile zumindest ein bisschen weiter. Eventuell muss man die Datenbank noch in der eigenen Funktion createn, aber ich denke ich mache in den LaunchRequest eine Methode, die die Datenbank auf den Originalzustand reseted. Die kann man durch setzen eines booleans aufrufen lassen
Soll das resetten dann bewirken, dass unsere Datenbank so aussieht wie bei dem reset-Aufruf? Bei mir funktioniert das irgendwie nicht. Oder muss man da vorher noch irgendwas in der Tabelle machen?
Edit: Jetzt ist es drin. Anscheindend dauert das ein paar Minuten.
@ngaeng , was hast du denn bei der Datenbank als Primärschlüssel angegeben? Bei mir läuft der Skill iwie nicht mit dem aktuellen Code, deswegen denke ich mal, dass ich bei der Tabelle was falsch gemacht hab.
id sollte da drinstehen Wird bei dir beim Launch was reingeschrieben oder funktioniert der Launch auch schon nicht?
Es wird was reingeschrieben, aber danach noch innerhalb vom Launch fliegt irgendwo null.
Fliegt in der AWS-Test-Konsole null oder in der Developer Konsole?
In der Developer. Ehrlich gesagt, versteh ich nicht genau, wie man im AWS debugged. Wenn ich da einfach den Json - Code reinkopiere, dann passen immer die ganzen Id's nicht, die bei dem Json mitgeschickt werden.
Ok, jetzt geht es im AWS, das verwirrt mich jetzt aber erst recht, weil da der LaunchRequest funktioniert, aber in der Developer Console nicht.
Dann liegts an irgendner Verbindung, also ich hatte das vorher auch. Dann is auf jeden Fall iwas im Developer falsch
Ok, dann vergleich ich das nochmal mit deinem.
invocation is tasche
Damit geht es. Ich check aber nicht genau, wieso, weil bei mir steht ja immer noch "tasche packen" als invocation drin.
Ja versteh ich auch nicht ganz, aber immerhin gehts. Bei dem abgegebenen Skill ist es auch nur tasche
Hier ist ganz gut beschrieben, wie man das macht,
https://alexa-skills-kit-sdk-for-java.readthedocs.io/en/latest/Developing-Your-First-Skill.html