我正在尝试编写一项新的echo(Alexa)技能,为此需要执行AWS lamda调用来进行处理。但是,我只希望我的回声设备可以访问lamda。即使其他设备知道arn,也不应访问lamda。
要实现此目的需要设置哪些参数?
答案 0 :(得分:2)
据我所知,当您禁用并重新启用技能时,您的deviceId
将会改变。
每项技能都有一个独特的applicationId
,您将在每次技能请求中收到。您可以在进行任何处理之前在Lambda代码中验证此ID。
"application": {
"applicationId": "amzn1.ask.skill.xxxx-xxxx-xxxx-xxxx-xxxxxxxx"
},
您的Echo设备不会直接访问Lambda函数,而是您的技能会触发您的Lambda函数,并将在请求中包含deviceId
和applicationId
。
如果有人获得了您的ARN,即使他们掌握了另一项技能,他们也不会通过您的applicationId
检查Lambda。