tôi đang tạo ra một bảng và GSI trong dynamo, sử dụng các thông số này, theo các tài liệu:Truy vấn một Index Secondary toàn cầu trong dynamodb Local
configId là khóa chính của bảng, và tôi đang sử dụng các publisherId như . khóa chính cho GSI (tôi đã xóa một số thông số cấu hình cần thiết cho ngắn gọn)
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',
}
]
}
]
};
tôi truy vấn bảng này sử dụng này:
{ TableName: 'Configs',
IndexName: 'publisher_index',
KeyConditionExpression: 'publisherId = :pub_id',
ExpressionAttributeValues: { ':pub_id': { S: '700' } } }
nhưng tôi tiếp tục gặp lỗi: "ValidationException: Một hoặc nhiều giá trị thông số không hợp lệ: Loại thông số điều kiện không khớp với loại lược đồ"
Trong tài liệu, nó chỉ định rằng KeyType chính có thể là HASH hoặc RANGE và bạn đã đặt attributeType trong trường attributeDefinitions. Tôi đang gửi publisherId như String, không chắc chắn những gì tôi đang thiếu ở đây.
Có phải vấn đề trong cách tôi đang tạo bảng hay cách tôi đang truy vấn? Cảm ơn
Tôi sẽ thực hiện cuộc gọi mô tả trên 'Xác nhận' để kiểm tra kỹ xem chỉ mục phụ đã được tạo như mong đợi chưa. –