如果您從技能中單獨運行lambda,是否可以從aws-lambda代碼中停止會話? 我想從SNS運行aws-lambda函數來停止技能會話。你可以在lambda函數中以編程方式停止Alexa Skill會話嗎?
2
A
回答
0
從我已經準備好的我的解釋是,你有興趣通過發送一個SNS消息到一個不相關的lambda函數來結束你的亞馬遜回聲上的會話。如果這是正確的,我將如何繼續。
我還沒有試過,但其與亞馬遜的Alexa技巧Node.js的豐富的經驗,我會說這可能會以編程的方式如下實現:
1)使你的Alexa的應用中進行dynamodb表。 (如第4行所示)
exports.handler = function(event, context, callback) {
var alexa = Alexa.handler(event, context);
alexa.appId = `YOUR_ALEXA_SKILL_ID`;
alexa.dynamoDBTableName = 'NAME_OF_YOUR_DYNAMODB_TABLE'; //You literally dont need any other code it just does the saving and loading??!! WHAT?
alexa.registerHandlers(newSessionHandlers, newGameYesNoHandlers);
alexa.execute();
};
然後,Alexa將爲每個唯一用戶創建一個數據錶行。請注意,您需要設置IAm權限才能允許lambda訪問此數據表。
2)當你的會話啓動有它在它自己的數據錶行更新的值,這樣this.attributes['EXECUTING'] = True;
3)會議期間內每個連續的意圖調用檢查this.attributes['EXECUTING]
的值,如果值是True
,大,如果是False
通過發出結束會話this.emit(':tell', "Goodbye!");
4)現在,數據錶行由userId索引。這將是我沒有親自嘗試的棘手部分。我建議在用戶請求他們的用戶ID時創建一個意圖,然後發出一張帶有ID值的卡片。這可以被複制到您自己的SMS lambda函數或其他api中。或者,亞馬遜最近發佈了關於如何將alexa用戶連接到您自己的API的文檔。
這真的取決於你希望是什麼最終產品的樣子。 5)最後,使用您的外部API或替代lambda函數以及用戶userId來訪問相同的dynamodb表並將['EXECUTING']
的值更改爲False
。接下來運行的意圖將檢查數據庫並導致技能退出。
瞧!
有關特定代碼,帳戶鏈接和短信的更多信息,請諮詢其他問題。謝謝
相關問題
- 1. Lambda可以調用Alexa技能嗎?
- 2. 可以通過編程方式暫停Android上的通話嗎?
- 3. AWS Alexa Skill - AWS lambda API錯誤
- 4. 以編程方式停止請求
- 5. 如何以編程方式停止java.util.logging?
- 6. 以編程方式停止導航
- 7. 你可以在C#中以編程方式創建表單域?
- 8. 如何以編程方式停止ServletRequestListener?
- 9. 以編程方式停止PlayFramework作業
- 10. 以編程方式停止GIF動畫
- 11. 你可以停止滾動的HTML5視頻暫停/停止嗎?
- 12. 你可以以編程方式簽署數據庫中的代理嗎?
- 13. 你可以在wp7中以編程方式鎖定屏幕
- 14. 以編程方式創建Windows會話
- 15. 以編程方式暫停/停止MediaPlayer Android在給定時間
- 16. 暫停的線程可以中止嗎?
- 17. 反正有停止以編程方式滾動嗎?
- 18. 以編程方式停止在UIWebView的iframe中播放視頻
- 19. 是否可以在iOS中以編程方式接聽電話?
- 20. 你可以在SSIS中重新使用代碼嗎?你能以編程方式更改源/目標嗎?
- 21. 如何在iphone中以編程方式停止快照?
- 22. 在drools中有一種方法可以檢測無限循環並以編程方式暫停會話?
- 23. 是否可以在Adobe Connect Pro中以編程方式記錄會話?
- 24. 你可以在javascript中編寫匿名函數嗎?「function(){}」?
- 25. 你可以在JavaScript中編寫嵌套函數嗎?
- 26. 你可以處理Ruby的函數式編程方法嗎,比如記憶一個函數嗎?
- 27. 如何以編程方式停止在Firefox中加載頁面?
- 28. 可以以編程方式在onCreateViewHolder中添加admob嗎?
- 29. 我可以在UITextView中以編程方式選擇文本嗎?
- 30. 我可以在Rails 3中以編程方式更改config.cache_classes嗎?