Amazon Dynamo DB - 在本地数据库中创建表的问题

时间:2013-12-03 10:45:42

标签: c# .net amazon-dynamodb local-database

我正在使用本地Amazon Dynamo DB并尝试创建一个表格; Id | StartPoint1 | EndPoint 1 | StartPoint2 | EndPoint2 |速度|距离

我尝试使用CreateTable()函数,但发现很难创建一个。 我正在使用.Net API。

任何人都可以帮我解决这个问题。

我试过的示例代码是;

var response = client.CreateTable(new CreateTableRequest
      {
        TableName = tableName,
        AttributeDefinitions = new List<AttributeDefinition>()
        {
          new AttributeDefinition
          {
            AttributeName = "Id",
            AttributeType = "S"
          },
          new AttributeDefinition
          {
            AttributeName = "ReplyDateTime",
            AttributeType = "S"
          }
        },
        KeySchema = new List<KeySchemaElement>()
        {
          new KeySchemaElement()
          {
            AttributeName = "Id",
            KeyType = "HASH"
          },
          new KeySchemaElement()
          {
            AttributeName = "ReplyDateTime",
            KeyType = "RANGE"
          }
        },
        ProvisionedThroughput = new ProvisionedThroughput
        {
          ReadCapacityUnits = 10,
          WriteCapacityUnits = 5
        }
      });

对于2列,它工作正常。对于超过2列,如何实现这一目标?

谢谢和问候, 维杰

2 个答案:

答案 0 :(得分:1)

创建表时,您定义的唯一属性是散列和(可选)范围。这不是关系数据库,其中每一行必须具有相同的属性。

答案 1 :(得分:0)

我没有使用过C#,但看到某些API在本地失败,因为您正在访问新功能并使用较旧的Dynamo DB包。 (一个例子是GSI,它只有几个月的历史)。 此页面始终包含最新内容:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html (之前在doc页面上有一个地方,错误地保留了一个较旧的地方)