Sto creando un tavolo e GSI a dinamo, utilizzando questi parametri, come per la documentazione:Interrogazione di un Global Index secondaria in DynamoDB locale
configId è la chiave primaria della tabella, e sto usando l'ID publisher come . la chiave primaria per il GSI (ho rimosso alcuni parametri di configurazione necessari per brevità)
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',
}
]
}
]
};
sto interrogazione di questa tabella di utilizzare questo:
{ TableName: 'Configs',
IndexName: 'publisher_index',
KeyConditionExpression: 'publisherId = :pub_id',
ExpressionAttributeValues: { ':pub_id': { S: '700' } } }
ma io continua a ricevere l'errore: "ValidationException: uno o più valori di parametro non erano validi: il tipo di parametro Condizione non corrisponde al tipo di schema"
Nei documenti specifica che il KeyType principale può essere HASH o RANGE e che si imposta the attributeType nel campo attributeDefinitions. Sto inviando il publisherId come String, non so cosa mi manca qui.
Il problema sta nel modo in cui sto creando la tabella o il modo in cui sto eseguendo una query? Grazie
Vorrei creare una chiamata a Tema descrittivo su "Configs" per verificare che l'indice secondario sia stato creato come previsto. –