我已将DynamoDB jar下载到我的本地Windows机器,并能够使用下面的命令启动服务。
java -jar DynamoDBLocal.jar -dbPath .
我可以使用localhost:8000 / shell /
访问Web控制台但是,我不知道如何创建表,有人可以给我语法和任何示例
如果我想创建包含以下详细信息的表,如何操作并插入数据?
表:学生 列:sid,firstname,lastname,address。
感谢您的投入。
答案 0 :(得分:16)
文件很难理解。 由于您使用的是dynamodb shell,我假设您要求使用js查询来创建表。
var params = {
TableName: 'student',
KeySchema: [
{
AttributeName: 'sid',
KeyType: 'HASH',
},
],
AttributeDefinitions: [
{
AttributeName: 'sid',
AttributeType: 'N',
},
],
ProvisionedThroughput: {
ReadCapacityUnits: 10,
WriteCapacityUnits: 10,
},
};
dynamodb.createTable(params, function(err, data) {
if (err) ppJson(err); // an error occurred
else ppJson(data); // successful response
});
在浏览器中运行上述代码段(localhost:8000 / shell /)。它创建一个以'sid'作为哈希键的表。 要插入:
var params = {
TableName: 'student',
Item: { // a map of attribute name to AttributeValue
sid: 123,
firstname : { 'S': 'abc' },
lastname : { 'S': 'xyz' },
address : {'S': 'pqr' },
ReturnValues: 'NONE', // optional (NONE | ALL_OLD)
ReturnConsumedCapacity: 'NONE', // optional (NONE | TOTAL | INDEXES)
ReturnItemCollectionMetrics: 'NONE', // optional (NONE | SIZE)
};
docClient.put(params, function(err, data) {
if (err) ppJson(err); // an error occurred
else ppJson(data); // successful response
});
答案 1 :(得分:11)
我建议使用docker(但也可以运行jar):
$ docker run -d -p 8000:8000 amazon/dynamodb-local
然后您可以通过传入endpoint-url
在docker容器中创建一个表:
$ aws dynamodb create-table \
--table-name UnifiedTable \
--attribute-definitions AttributeName=pk,AttributeType=S AttributeName=sk,AttributeType=S \
--key-schema AttributeName=pk,KeyType=HASH AttributeName=sk,KeyType=RANGE \
--provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \
--endpoint-url http://localhost:8000
您可以像这样检查表是否存在:
$ aws dynamodb list-tables --endpoint-url http://localhost:8000
# Output:
# {
# "TableNames": [
# "UnifiedTable"
# ]
# }
答案 2 :(得分:2)
您可以在此处查看API文档: http://docs.aws.amazon.com/amazondynamodb/latest/gettingstartedguide/Welcome.html
或者您也可以使用aws-cli
进行本地DynamoDB安装:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.CLI.html#Tools.CLI.UsingWithDDBLocal
答案 3 :(得分:0)
aws.config.update({
dynamodb: {
endpoint: 'http://localhost:8000'
},
}