Este es mi código:
var ddb = new AWS.DynamoDB(); const tableName = 'Table_One'; let client_id = "a3bdso310"; console.log(`"${client_id}"`); var params = { TableName: tableName, Key: { 'client_id': {S: client_id} }, }; ddb.getItem(params, function(err, data) { if (err) { console.error("Unable to read item. Error JSON:", JSON.stringify(err, null, 2)); } else { let str_client_data = JSON.stringify(data.Item.client_data.S); let parsed_client_data_str = JSON.parse(str_client_data); let parsed_data = JSON.parse(parsed_client_data_str) res.send(parsed_data); } }); Recibo un error cuando intento realizar un GetItem usando el SDK de DynamoDB: "El elemento clave proporcionado no coincide con el esquema". Cada vez que reemplazo {S: client_id} con el valor real como este {S: "a3bdso310"} , funciona solo encuentra. ¿Puede el valor "Clave" no ser una variable? Lo que es aún más extraño es que cuando pruebo esto localmente funciona bien, el problema solo ocurre cuando implemento mi proyecto local en un EC2. Entonces, básicamente, cuando ejecuto este proyecto en mi máquina local, todo es igual, la única diferencia que se me ocurre cuando lo ejecuto en una instancia EC2 es quizás el hecho de que la instancia EC2 debe tener permisos para realizar operaciones en mi tabla de DynamoDB. . Pero ya le di permisos, y otras operaciones funcionan bien que no requieren una clave (por ejemplo, escanear). ¿Hay una solución alrededor de esto?