我一直在使用命令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 是开源的?)。有人知道吗?这显然是一个人为的例子,但它将演示如何创建嵌套模式。
最佳答案
您只需要指定 AttributeDefinitions
对于将成为表主键的一部分或索引键的一部分的属性。 Dynamo 主要是无模式的(关键定义除外)。它不关心您要存储的任何其他属性 - 无需对任何内容进行建模。
关于node.js - 如何通过 aws-cli 创建具有嵌套属性定义的 dynamodb 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54151859/