Alexa SDK(ask-sdk)带有persistence adapter,它允许以半透明的方式将属性作为键/值对存储在DynamoDB实例中。我尝试过,它存储每个用户的属性,即生成的表的主键是用户ID。这对存储用户设置很有用,但对存储全局数据(例如,排行榜。
如何使用此适配器以技能级别(不是按每个用户ID)全局存储属性?
答案 0 :(得分:1)
在这里回答我自己的问题。解决方案是使用更改持久性适配器中的“密钥生成器功能”,该适配器基本上告诉适配器在数据库中用作主键的内容。
这是一个完整的演示,展示了如何使用Alexa node.js SDK DynamoDB持久性适配器和S3持久性适配器实现此操作:
https://gist.github.com/germanviscuso/70c979f671660fea811ccfb63801f936
在上面的示例中,键生成器功能被更改为返回技能ID而不是用户ID,因此属性随后被全局存储(在技能级别),而不是在用户级别。