【问题标题】:How to persist multiple users' data under a single userId using AWS Lambda and DynamoDB?如何使用 AWS Lambda 和 DynamoDB 将多个用户的数据保存在单个 userId 下?
【发布时间】:2019-04-04 23:43:29
【问题描述】:

如果这是一个愚蠢的问题,我深表歉意,但我似乎找不到答案。我是开发 Alexa 技能的新手,所以请原谅我的无知。

基本上,我想将同一家庭中的多个用户(孩子)的数据保存到 DynamoDB 表中。我遇到的问题是“保存属性”过程似乎只有在 DynamoDB 表使用 userId 作为分区键时才有效。这会导致表中只存在一条记录,并且每次打开技能时,数据都会被当前用户覆盖。

如果 userId 始终相同,我如何让 lambda 函数在表中创建另一条记录?

目前,我正在使用 Node.js 并保存一个字符串(名称)和一个数组(项目)。但正如我之前提到的,每次启动技能时,值都会被覆盖。

提前致谢。

【问题讨论】:

  • 你所有的用户都有相同的ID吗?我认为您应该阅读this 以了解有关分区键的更多信息。
  • 技能启动时会询问您的姓名。理想情况下,我希望每个名称都是表中的唯一条目。现在,我知道可能有多个同名用户,但为了简单起见,我现在只是走这条路。 userId 始终与自动提供的相同,并且与我的 Alexa 帐户相关联(据我了解)。我会去看看,谢谢。
  • 另外,如果我使用分区键作为“userId”以外的任何内容创建表,该技能将失败,并说“请求的技能的响应有问题”。

标签: node.js aws-lambda amazon-dynamodb alexa


【解决方案1】:

所以,我想经过更多的尝试和错误,我已经回答了我自己的问题。我最终创建了一个对象数组,它似乎按照我最初的预期工作。我只是花了一点时间才把它缠住。

谢谢。

【讨论】:

    猜你喜欢
    • 2021-07-29
    • 2021-02-06
    • 2018-08-23
    • 2018-05-31
    • 2016-02-05
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    相关资源
    最近更新 更多