如何存储我正在开发的 Alexa 技能的数据?

How to store the data for the Alexa skill I am developing?

我目前正在开发一项基于医疗保健的 Alexa 技能。所以我需要存储有关疾病、诊断和症状的信息。我做了一个基本技能,包括一个文件中关于一种疾病的信息,制作了一个 zip 文件,将它上传到 AWS Lambda 并获得了亚马逊的认证。现在我需要扩大范围,因为我需要了解许多疾病的信息。我在哪里可以存储这些庞大的数据以及如何从我的 Lambda 函数中检索它?如果使用 DynamoDB 是正确的方法,那么如何从我的 Lambda 函数中检索数据?或者还有其他更好的方法吗?

您可能需要先在您的技能上设置帐户链接。这可能是一个过程,但请查看此页面 here。我建议使用 Google 或亚马逊作为您的 OAuth 提供商。

帐户链接允许您将特定用户及其回应与您拥有的数据库中的条目相关联。因此,在您将用户链接到您的数据库后,您有两个选择。

选项 1(我相信)您可以使用任何可用语言直接从 Lambda 服务查询您的数据库。

选项 2,设置 Web 服务,使用某种 RESTful 服务获取和设置数据库中的信息,然后改为调用该服务。

完成这种事情不容易,但很有可能。

编辑:此外,如果您希望提供有关多种疾病的信息,请考虑研究是否有可用的疾病数据库,以及是否存在访问它的 API。这可以为您节省很多时间。

DynamoDB 似乎是最简单的方法。如果您使用 Java,只需添加 aws-java-sdk-dynamodb 依赖项并使用 AmazonDynamoDBClient 与数据库交互。您可以使用 @DynamoDBTable 注释定义您想要的表。转到 https://console.aws.amazon.com/iam/home?#roles 并创建一个角色并添加权限 AmazonDynamoDBFullAccess 权限,一切就绪。