如何在本地使用 GlobalSecondaryIndexes 在 DynamoDB 上创建 table?
How create a table on DynamoDB with a GlobalSecondaryIndexes in local?
我在 Windows 7 上本地安装 DynamoDB。
我的项目是 Node.js(0.12.0),我使用 aws-sdk。
DynamoDB 版本:2012-08-10
这项工作 ->
dynamodb.createTable({
TableName: 'Users',
AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}],
KeySchema: [{AttributeName: 'userId', KeyType: 'HASH'}],
ProvisionedThroughput: {
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
}, function () {
...
});
这不起作用 ->
dynamodb.createTable({
TableName: 'Users',
AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}],
KeySchema: [{AttributeName: 'userId', KeyType: 'HASH'}],
ProvisionedThroughput: {
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
},
GlobalSecondaryIndexes: [
{
IndexName: 'longitudeUserIndex',
KeySchema: [
{
AttributeName: 'userId',
KeyType: 'HASH'
},
{
AttributeName: 'longitude',
KeyType: 'RANGE'
}
],
Projection: {
NonKeyAttributes: [
],
ProjectionType: 'KEYS_ONLY'
},
ProvisionedThroughput: {
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
}
]
}, function () {
...
});
文档 DynamoDB Javascript : http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#createTable-property
我解决了我的问题。
我在 AttributeDefinitions 中添加了经度。
AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}, {AttributeName: 'longitude', AttributeType: 'N'}]
我在 Windows 7 上本地安装 DynamoDB。 我的项目是 Node.js(0.12.0),我使用 aws-sdk。
DynamoDB 版本:2012-08-10
这项工作 ->
dynamodb.createTable({
TableName: 'Users',
AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}],
KeySchema: [{AttributeName: 'userId', KeyType: 'HASH'}],
ProvisionedThroughput: {
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
}, function () {
...
});
这不起作用 ->
dynamodb.createTable({
TableName: 'Users',
AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}],
KeySchema: [{AttributeName: 'userId', KeyType: 'HASH'}],
ProvisionedThroughput: {
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
},
GlobalSecondaryIndexes: [
{
IndexName: 'longitudeUserIndex',
KeySchema: [
{
AttributeName: 'userId',
KeyType: 'HASH'
},
{
AttributeName: 'longitude',
KeyType: 'RANGE'
}
],
Projection: {
NonKeyAttributes: [
],
ProjectionType: 'KEYS_ONLY'
},
ProvisionedThroughput: {
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
}
}
]
}, function () {
...
});
文档 DynamoDB Javascript : http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#createTable-property
我解决了我的问题。
我在 AttributeDefinitions 中添加了经度。
AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}, {AttributeName: 'longitude', AttributeType: 'N'}]