如何将我的 AWS lambda 锁定到我的 echo 设备

How to lock my AWS lamda to my echo device only

我正在尝试编写一个新的 echo (Alexa) 技能,其中有一个 AWS lamda 调用来进行处理。但是我希望只有我的回声设备可以访问 lamda。其他设备即使知道 arn 也应该无法访问 lamda。

实现这个需要设置哪些参数?

据我所知,当您禁用并重新启用您的技能时,您的 deviceId 会发生变化。

每个技能都有一个独特的 applicationId,您将在您的技能的每个请求中收到它。在继续任何处理之前,您可以在 Lambda 代码中验证此 ID。

"application": {
            "applicationId": "amzn1.ask.skill.xxxx-xxxx-xxxx-xxxx-xxxxxxxx"
        },

您的 Echo 设备不会直接访问 Lambda 函数,而是您的技能会触发您的 Lambda 函数,并将在其请求中包含 deviceIdapplicationId

如果有人获得了您的 ARN,即使他们制作了另一项技能,他们也不会通过您的 applicationId 检查您的 Lambda。