我創造了發電機表和GSI,使用這些參數,按文件:查詢全球次級指數dynamodb本地
的configId是表的主鍵,我現在用的是兩個publisherId作爲。對於GSI的主鍵(I已移除爲了簡潔一些不必要的配置參數)
var params = {
TableName: 'Configs',
KeySchema: [
{
AttributeName: 'configId',
KeyType: 'HASH',
}
],
AttributeDefinitions: [
{
AttributeName: 'configId',
AttributeType: 'S',
},
{
AttributeName: 'publisherId',
AttributeType: 'S',
}
],
GlobalSecondaryIndexes: [
{
IndexName: 'publisher_index',
KeySchema: [
{
AttributeName: 'publisherId',
KeyType: 'HASH',
}
]
}
]
};
我使用這個查詢該表:
{ TableName: 'Configs',
IndexName: 'publisher_index',
KeyConditionExpression: 'publisherId = :pub_id',
ExpressionAttributeValues: { ':pub_id': { S: '700' } } }
,但我繼續收到錯誤: 「ValidationException:一個或多個參數值無效:條件參數類型與模式類型不匹配」
在文檔中指定主KeyType可以是HASH或RANGE,並且您設置了attributeDefinitions字段中的attributeType。我發送publisherId作爲字符串,不知道我在這裏失蹤。
問題在於我創建表的方式或我查詢的方式? 感謝
我會在'配置'上進行一次describeTable調用,檢查是否按預期創建了二級索引。 –