DynamoDB-テーブルの作成

テーブルの作成は、通常、テーブルの生成、名前の付け、主キー属性の確立、および属性データ型の設定で構成されます。

これらのタスクを実行するには、GUIコンソール、Java、または別のオプションを利用します。

GUIコンソールを使用してテーブルを作成する

でコンソールにアクセスしてテーブルを作成します https://console.aws.amazon.com/dynamodb。次に、「テーブルの作成」オプションを選択します。

この例では、ID番号(数値属性)で識別される一意の属性の製品を含む、製品情報が入力されたテーブルを生成します。の中にCreate Table画面で、テーブル名フィールドにテーブル名を入力します。パーティションキーフィールドに主キー(ID)を入力します。データ型に「数値」を入力します。

すべての情報を入力したら、 Create

Javaを使用してテーブルを作成する

Javaを使用して同じテーブルを作成します。その主キーは、次の2つの属性で構成されます-

  • 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

ローカルホストを使用したローカルインストールの使用を示します。また、必要なことに注意してくださいProvisionedThroughput parameter、ローカルインストールは無視します。