DynamoDB - สร้างตาราง
การสร้างตารางโดยทั่วไปประกอบด้วยการวางไข่ของตารางการตั้งชื่อการสร้างแอตทริบิวต์คีย์หลักและการตั้งค่าประเภทข้อมูลแอตทริบิวต์
ใช้ GUI Console, Java หรือตัวเลือกอื่นเพื่อทำงานเหล่านี้
สร้างตารางโดยใช้ GUI Console
สร้างตารางโดยเข้าถึงคอนโซลที่ https://console.aws.amazon.com/dynamodb. จากนั้นเลือกตัวเลือก "สร้างตาราง"
ตัวอย่างของเราสร้างตารางที่เต็มไปด้วยข้อมูลผลิตภัณฑ์โดยมีผลิตภัณฑ์ของแอตทริบิวต์ที่ไม่ซ้ำกันซึ่งระบุด้วยหมายเลขรหัส (แอตทริบิวต์ตัวเลข) ในCreate Tableหน้าจอป้อนชื่อตารางภายในฟิลด์ชื่อตาราง ป้อนคีย์หลัก (ID) ภายในฟิลด์คีย์พาร์ติชัน และป้อน "ตัวเลข" สำหรับประเภทข้อมูล
หลังจากป้อนข้อมูลทั้งหมดแล้วให้เลือก Create.
สร้างตารางโดยใช้ Java
ใช้ Java เพื่อสร้างตารางเดียวกัน คีย์หลักประกอบด้วยสองคุณลักษณะต่อไปนี้ -
ID - ใช้คีย์พาร์ติชันและ ScalarAttributeType N, หมายถึงเลข.
Nomenclature - ใช้คีย์การจัดเรียงและ ScalarAttributeType Sหมายถึงสตริง
Java ใช้ไฟล์ createTable methodเพื่อสร้างตาราง และภายในการเรียกชื่อตารางแอตทริบิวต์คีย์หลักและชนิดข้อมูลแอตทริบิวต์จะถูกระบุ
คุณสามารถดูตัวอย่างต่อไปนี้ -
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("http://localhost: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 parameterซึ่งการติดตั้งภายในจะละเว้น