- DynamoDB 教程
- DynamoDB - 首页
- DynamoDB - 概述
- DynamoDB - 基本概念
- DynamoDB - 环境
- DynamoDB - 操作工具
- DynamoDB - 数据类型
- DynamoDB - 创建表
- DynamoDB - 加载表
- DynamoDB - 查询表
- DynamoDB - 删除表
- DynamoDB - API 接口
- DynamoDB - 创建项目
- DynamoDB - 获取项目
- DynamoDB - 更新项目
- DynamoDB - 删除项目
- DynamoDB - 批量写入
- DynamoDB - 批量检索
- DynamoDB - 查询
- DynamoDB - 扫描
- DynamoDB - 索引
- 全局二级索引
- 局部二级索引
- DynamoDB - 聚合
- DynamoDB - 访问控制
- DynamoDB - 权限API
- DynamoDB - 条件
- Web身份联合
- DynamoDB - 数据管道
- DynamoDB - 数据备份
- DynamoDB - 监控
- DynamoDB - CloudTrail
- DynamoDB - MapReduce
- DynamoDB - 表活动
- DynamoDB - 错误处理
- DynamoDB - 最佳实践
- DynamoDB 有用资源
- DynamoDB - 快速指南
- DynamoDB - 有用资源
- DynamoDB - 讨论
DynamoDB - 创建表
创建表通常包括生成表、命名表、建立其主键属性以及设置属性数据类型。
可以使用GUI控制台、Java或其他选项来执行这些任务。
使用GUI控制台创建表
通过访问https://console.aws.amazon.com/dynamodb上的控制台来创建表。然后选择“创建表”选项。
我们的示例生成一个填充了产品信息的表,其中具有唯一属性的产品由ID号(数字属性)标识。在创建表屏幕中,在表名称字段中输入表名称;在分区键字段中输入主键 (ID);并在数据类型中输入“Number”。
输入所有信息后,选择创建。
使用Java创建表
使用Java创建相同的表。其主键包含以下两个属性:
ID - 使用分区键和ScalarAttributeType N(表示数字)。
Nomenclature - 使用排序键和ScalarAttributeType S(表示字符串)。
Java使用createTable方法生成表;在调用中,指定表名、主键属性和属性数据类型。
您可以查看以下示例:
import java.util.Arrays; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; import com.amazonaws.services.dynamodbv2.document.DynamoDB; import com.amazonaws.services.dynamodbv2.document.Table; import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; import com.amazonaws.services.dynamodbv2.model.KeyType; import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType; public class ProductsCreateTable { public static void main(String[] args) throws Exception { AmazonDynamoDBClient client = new AmazonDynamoDBClient() .withEndpoint("https://127.0.0.1:8000"); DynamoDB dynamoDB = new DynamoDB(client); String tableName = "Products"; try { System.out.println("Creating the table, wait..."); Table table = dynamoDB.createTable (tableName, Arrays.asList ( new KeySchemaElement("ID", KeyType.HASH), // the partition key // the sort key new KeySchemaElement("Nomenclature", KeyType.RANGE) ), Arrays.asList ( new AttributeDefinition("ID", ScalarAttributeType.N), new AttributeDefinition("Nomenclature", ScalarAttributeType.S) ), new ProvisionedThroughput(10L, 10L) ); table.waitForActive(); System.out.println("Table created successfully. Status: " + table.getDescription().getTableStatus()); } catch (Exception e) { System.err.println("Cannot create the table: "); System.err.println(e.getMessage()); } } }
在上面的示例中,请注意端点:.withEndpoint。
它表示通过使用localhost来使用本地安装。此外,请注意所需的ProvisionedThroughput参数,本地安装会忽略此参数。
广告