如何使用Alexa SDK DynamoDB持久性适配器存储全局属性(按技能)

时间:2018-12-31 03:04:28

标签: amazon-dynamodb alexa alexa-skills-kit alexa-skill

Alexa SDK(ask-sdk)带有persistence adapter,它允许以半透明的方式将属性作为键/值对存储在DynamoDB实例中。我尝试过,它存储每个用户的属性,即生成的表的主键是用户ID。这对存储用户设置很有用,但对存储全局数据(例如,排行榜。

如何使用此适配器以技能级别(不是按每个用户ID)全局存储属性?

1 个答案:

答案 0 :(得分:1)

在这里回答我自己的问题。解决方案是使用更改持久性适配器中的“密钥生成器功能”,该适配器基本上告诉适配器在数据库中用作主键的内容。

这是一个完整的演示,展示了如何使用Alexa node.js SDK DynamoDB持久性适配器和S3持久性适配器实现此操作:

https://gist.github.com/germanviscuso/70c979f671660fea811ccfb63801f936

在上面的示例中,键生成器功能被更改为返回技能ID而不是用户ID,因此属性随后被全局存储(在技能级别),而不是在用户级别。