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ซึ่งการติดตั้งภายในจะละเว้น