Amazon DynamoDB
入门指南 (API Version 2012-08-10)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

步骤 1:创建表

适用于 .NET 的 AWS 开发工具包 中的文档模型不提供用于创建表的 API,因此您必须使用低级 API (请参阅使用 适用于 .NET 的 AWS 开发工具包 低级 API 处理表)。

在此步骤中,您将创建一个名为 Movies 的表。表的主键由以下属性组成:

  • year - 分区键。AttributeTypeN,表示数字。

  • title - 排序键。AttributeTypeS,表示字符串。

  1. 将以下程序复制到 Program.cs 文件中,替代其当前内容。

    Copy
    using System; using System.Collections.Generic; using System.IO; using System.Text; using Amazon; using Amazon.DynamoDBv2; using Amazon.DynamoDBv2.Model; using Amazon.DynamoDBv2.DocumentModel; namespace DynamoDB_intro { class Program { public static void Main(string[] args) { // First, set up a DynamoDB client for DynamoDB Local AmazonDynamoDBConfig ddbConfig = new AmazonDynamoDBConfig(); ddbConfig.ServiceURL = "http://localhost:8000"; AmazonDynamoDBClient client; try { client = new AmazonDynamoDBClient(ddbConfig); } catch (Exception ex) { Console.WriteLine("\n Error: failed to create a DynamoDB client; " + ex.Message); PauseForDebugWindow(); return; } // Build a 'CreateTableRequest' for the new table CreateTableRequest createRequest = new CreateTableRequest { TableName = "Movies", AttributeDefinitions = new List<AttributeDefinition>() { new AttributeDefinition { AttributeName = "year", AttributeType = "N" }, new AttributeDefinition { AttributeName = "title", AttributeType = "S" } }, KeySchema = new List<KeySchemaElement>() { new KeySchemaElement { AttributeName = "year", KeyType = "HASH" }, new KeySchemaElement { AttributeName = "title", KeyType = "RANGE" } }, }; // Provisioned-throughput settings are required even though // the local test version of DynamoDB ignores them createRequest.ProvisionedThroughput = new ProvisionedThroughput(1, 1); // Using the DynamoDB client, make a synchronous CreateTable request CreateTableResponse createResponse; try { createResponse = client.CreateTable(createRequest); } catch (Exception ex) { Console.WriteLine("\n Error: failed to create the new table; " + ex.Message); PauseForDebugWindow(); return; } // Report the status of the new table... Console.WriteLine("\n\n Created the \"Movies\" table successfully!\n Status of the new table: '{0}'", createResponse.TableDescription.TableStatus); } public static void PauseForDebugWindow() { // Keep the console open if in Debug mode... Console.Write("\n\n ...Press any key to continue"); Console.ReadKey(); Console.WriteLine(); } } }

    注意

    • AmazonDynamoDBConfig 中,将 ServiceURL 设置为“http://localhost:8000”,从而在您计算机上运行的 DynamoDB 可下载测试版本中创建表。

    • CreateTableRequest 中,您需要指定表名称、主键属性及其数据类型。

    • 主键的分区键部分可确定 DynamoDB 用于存储项目的逻辑分区,在 CreateTableRequest 中它的 KeySchemaElement 中指定为拥有 KeyType“HASH”。

    • 主键的排序键部分可确定拥有相同分区键值的项目的排序,在 CreateTableRequest 中它的 KeySchemaElement 中指定为拥有 KeyType“RANGE”。

    • ProvisionedThroughput 字段是必填项,但 DynamoDB 的可下载测试版本将忽略它。

  2. 编译并运行程序。

要了解有关管理表的更多信息,请参阅 Amazon DynamoDB 开发人员指南 中的处理表