【问题标题】:I want to access AWS-IoT accounts from a common AWS Lambda我想从通用 AWS Lambda 访问 AWS-IoT 账户
【发布时间】:2017-09-02 08:55:35
【问题描述】:

我正在使用来自 AWS lambda 的端点通过 Rest API 连接 AWS IoT 事物。但现在我想让它动态化,即对于从 alexa 请求的每个不同用户,我想请求相应 AWS-IoT 帐户的 API。我假设每个用户都有不同的 AWS-IoT 帐户,因为每个用户都可以拥有一个名为 water pump 的东西。

我可以通过为每个用户创建一个 lambda 来做到这一点。但我想通过一个通用的 lambda 函数来做到这一点

【问题讨论】:

  • 在您的您的 AWS IoT 账户中,您用户的所有东西难道不都是单独的东西吗?您不会期望您的用户注册 AWS 只是为了将他们的东西与您的技能一起使用,当然……您会吗?也许我错过了什么。
  • 我将如何区分 lambda 上的用户和访问令牌?
  • 多个用户可以拥有相同的设备名称
  • 您不能只删除设备的名称......这似乎没有任何意义。您必须映射 something,那么为什么不将传入请求中的用户 ID 与该用户选择的(用户选择的)设备名称相关联,存储在您的后端数据库中, 找到正确事物的客户端 ID?

标签: amazon-web-services aws-lambda aws-sdk alexa-skills-kit aws-iot


【解决方案1】:

是的,您可以而且应该为所有用户使用一个通用的 Lambda。当您的技能安装在他们的设备上时,每个用户都有一个由亚马逊创建的唯一 ID。发送到您的 lambda 的每个请求都将包含此 userId,以便您的技能可以保存该用户的首选项、状态等:

{
  "version": "string",
  "session": {
    "new": true,
    "sessionId": "string",
    "application": {
      "applicationId": "string"
    },
    "attributes": {
      "string": {}
    },
    "user": {
      "userId": "string",
...

请参阅 Alexa 文档以了解请求中传递的每个字段:JSON Interface Reference for Custom Skills

【讨论】:

  • 这个会话对象是否也可用于家庭自动化技能
  • 不,抱歉。我没有意识到你在谈论智能家居技能。没有智能家居技能课程。我认为您要弄清楚的内容在“帐户链接”中进行了解释,所有智能家居技能也都在使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 2020-06-18
  • 2021-09-14
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 2021-08-17
相关资源
最近更新 更多