DynamoDB - Tạo bảng

Việc tạo bảng thường bao gồm tạo bảng, đặt tên cho bảng, thiết lập các thuộc tính khóa chính của nó và thiết lập các kiểu dữ liệu thuộc tính.

Sử dụng GUI Console, Java hoặc một tùy chọn khác để thực hiện các tác vụ này.

Tạo bảng bằng GUI Console

Tạo bảng bằng cách truy cập bảng điều khiển tại https://console.aws.amazon.com/dynamodb. Sau đó chọn tùy chọn "Tạo bảng".

Ví dụ của chúng tôi tạo một bảng được điền thông tin sản phẩm, với các sản phẩm thuộc tính duy nhất được xác định bằng số ID (thuộc tính số). bên trongCreate Tablemàn hình, nhập tên bảng trong trường tên bảng; nhập khóa chính (ID) trong trường khóa phân vùng; và nhập "Số" cho kiểu dữ liệu.

Sau khi nhập đầy đủ thông tin, hãy chọn Create.

Tạo bảng bằng Java

Sử dụng Java để tạo cùng một bảng. Khóa chính của nó bao gồm hai thuộc tính sau:

  • ID - Sử dụng khóa phân vùng và ScalarAttributeType N, nghĩa là số.

  • Nomenclature - Sử dụng một khóa sắp xếp và ScalarAttributeType S, nghĩa là chuỗi.

Java sử dụng createTable methodđể tạo một bảng; và trong cuộc gọi, tên bảng, thuộc tính khóa chính và kiểu dữ liệu thuộc tính được chỉ định.

Bạn có thể xem lại ví dụ sau:

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()); 
      } 
   } 
}

Trong ví dụ trên, hãy lưu ý điểm cuối: .withEndpoint.

Nó chỉ ra việc sử dụng cài đặt cục bộ bằng cách sử dụng localhost. Ngoài ra, lưu ý các yêu cầuProvisionedThroughput parameter, mà cài đặt cục bộ bỏ qua.