DynamoDB分区键选择应该是什么

时间:2019-05-06 06:42:51

标签: aws-lambda nosql amazon-dynamodb alexa-skills-kit dynamodb-queries

我从未使用过dynamodb,所以我对应该如何设计分区键有些困惑。

我应该在dynamodb中存储一些数据。数据与聊天机器人的意图和实体有关。

与每个意图及其实体相对应,有一个特定的答案。

例如,

What is the capital of **India**?

intent: {capital_of_intent}
entityName: {country_name}
entityValue: "India" 
answer: "New Delhi is the capital of India"

我正在编写一个lambda函数,该函数根据我在用户提出的问题中找到的意图和实体来获取答案。

但是如果用户询问,

Is **october** a good time to visit **India**?

intent: {visit-intent}
entityname: {country_name}
entityValue: "India"
entityName: {month}
entityValue: "october"
answer: "Yes, Weather in India during October is pleasant."

第一个示例很容易处理,但是当问题中有两个实体时,第二个示例会变得复杂。

现在我想将这种数据存储在dynamodb中,但我无法弄清楚哪个字段应该是我的分区键。因为如果我在问题中有2个实体,这意味着该意图,所以我有2个实体,它们是一个数组。我不能将分区键作为数组。

我正在编写一个lambda函数,该函数将基于意图和实体来获取数据,但是除非我将意图和实体用作分区键,否则它将无法获取任何内容。

必须有一些可以唯一标识行的东西。

有人可以帮忙吗?

0 个答案:

没有答案