我一直在使用命令aws dynamodb create-table --cli-input-json
创建本地dynamodb表,以便在本地机器上进行测试。
我可以创建简单的表,但不能创建更复杂的现实表。我浏览了AWS文档,但缺少对嵌套AttributeDefinitions的解释,或者找不到。 这是一个有效的简单示例(用于通过AWS CLI创建):
{
"TableName": "fruitsTable",
"KeySchema": [
{
"AttributeName": "fruitId",
"KeyType": "HASH"
}
],
"AttributeDefinitions": [
{
"AttributeName": "fruitId",
"AttributeType": "S"
}
],
"ProvisionedThroughput": {
"ReadCapacityUnits": 5,
"WriteCapacityUnits": 5
}
}
那很好。 aws dynamodb create-table --cli-input-json file:///Users/you/subfile/server/config/tables/fruits.json --endpoint-url http://localhost:8000
但是,我想看看创建一个更复杂的对象的示例。哪种模式对此有效?
{
"ComplexFruit" : [
{
"complexFruitId": "redbanana-fromGroceryStore"
"name" : "redBanana",
"notes": "this one is red",
"count" : {
"ripe" : 5,
"total": 10
},
"stores" : [
{"storeName" : "Exito"}
]
}
]
}
我对如何创建嵌套的AttributeDefinition
感到困惑,而无需花费大量猜测或挖掘代码(如果dynamodb是开源的?)。
有人知道吗?同样,这显然是一个人为的示例,但是它将演示如何创建嵌套模式。
答案 0 :(得分:0)
您只需为将成为表主键或索引键的一部分的属性指定AttributeDefinitions
。 Dynamo主要是无模式的(除了键定义之外)。它不关心您要存储的任何其他属性-无需建模。
答案 1 :(得分:0)
在精神学习中,我将分享一些我所学到的知识,在学习DynamoDb的过程中,我与几个ORM一起玩。
Dynamoose文档太糟糕了,我经历了很多试验和错误。 AWS文档不好但是可以实现。这就是我从一开始就在寻找的https://github.com/awslabs/dynamodb-data-mapper-js
希望这是其他开发人员希望在Node.js上将DynamoDb与ORM结合使用的快捷方式