Dynamodb-create-table
提供:Dev Guides
DynamoDB-テーブルの作成
通常、テーブルの作成は、テーブルの生成、名前の付け、主キー属性の確立、および属性データ型の設定で構成されます。
GUIコンソール、Java、または別のオプションを使用して、これらのタスクを実行します。
GUIコンソールを使用してテーブルを作成する
https://console.aws.amazon.com/dynamodbでコンソールにアクセスして、テーブルを作成します。 次に、「テーブルの作成」オプションを選択します。
この例では、ID番号(数値属性)で識別される一意の属性の製品とともに、製品情報が入力されたテーブルを生成します。 [テーブルの作成]画面で、テーブル名フィールドにテーブル名を入力します。パーティションキーフィールド内にプライマリキー(ID)を入力します。データタイプに「Number」と入力します。
すべての情報を入力したら、*作成*を選択します。
Javaを使用してテーブルを作成する
Javaを使用して同じテーブルを作成します。 その主キーは、次の2つの属性で構成されています-
- ID -パーティションキーと、数値を意味するScalarAttributeType N を使用します。
- 命名法-ソートキーと、文字列を意味する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("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パラメーター*にも注意してください。