2016-11-01 23 views
0

我具有被描述的DynamoDB表(用戶應該通過唯一的user_id或用戶名+ SYSTEM_ID的組合是可選擇的)當我運行的主鍵下面的代碼,我得到一個記錄列表,符合市場預期:「所提供的鍵元件的方案不匹配」的二級索引

var AWS = require('aws-sdk'); 
var dynamodb = new AWS.DynamoDB({region: 'ap-southeast-2'); 
var userTable = 'auth-users'; 
var key = { user_id: '123412341234' }; 

dynamodb.getItem({ 
    TableName: tableName, 
    Key: key 
}, function(err,data) { 
    console.error('err:',err); 
    console.info('data:', data); 
}); 

...但如果我嘗試使用全局二級索引,以替換鍵:

var key = { 
    username: {S: 'testuser'}, 
    system_id: {S: 'test-system'} 
}; 

然後我得到一個ValidationException:提供的關鍵元素與模式不匹配。

回答

0

...沒關係 - RTFM:

getItem操作,返回該項目的一組屬性與 給定主鍵

要使用你所需要的輔助索引做一個query並提供索引名稱。

相關問題