amazon-dynamodb - 如何使用 Alexa SDK DynamoDB 持久性适配器存储全局属性(按技能)
问题描述
Alexa SDK (ask-sdk) 带有一个持久性适配器,允许以半透明的方式将属性作为键/值对存储在 DynamoDB 实例中。我试过了,它为每个用户存储属性,即生成表的主键是用户 ID。这对于存储用户设置很有用,但对于存储全局数据(例如排行榜)没有用。
如何使用此适配器在技能级别(而不是每个用户 ID)全局存储属性?
解决方案
在这里回答我自己的问题。解决方案是使用更改持久性适配器中的“密钥生成器功能”,该功能基本上告诉适配器使用什么作为数据库中的主键。
这是一个完整的演示,展示了如何使用 Alexa node.js SDK DynamoDB 持久性适配器和 S3 持久性适配器来做到这一点:
https://gist.github.com/germanviscuso/70c979f671660fea811ccfb63801f936
在上面的示例中,密钥生成器函数被更改为返回技能 ID 而不是用户 ID,因此属性随后全局存储(在技能级别),而不是在用户级别。
推荐阅读
- vba - 如果出现,如何查找和替换最后一个数字
- python - 不知道如何使用 JSON 从 api 中提取某些数据
- vue.js - Vue在绑定组件中显示道具
- reactjs - useRef - 使用 ref 来处理功能组件内的函数?
- javascript - 使用什么方法访问数组中的多个对象?
- docker - 将带有端口的 URL 映射到没有 Docker 端口的 URL?
- mysql - 编写 MySQL 查询以获得测试表的预期结果
- android - 如何将 Kotlin Multiplatform Mobile 与 Amazon 放大服务集成?
- python - 键属性的 AttributeValue 不能包含空字符串值
- mysql - MYSQL如何去除重复项