Node.js - ExpressionAttributeNames key

 
Vista:
Imágen de perfil de hector Rivera

ExpressionAttributeNames key

Publicado por hector Rivera (1 intervención) el 06/05/2022 03:34:43
Hola buen dia.

tengo un problema con un update en dynamoDB , al realizar el update en dyanamo me indica que no puedo usar la palabra reservada key

"message": "Value provided in ExpressionAttributeNames unused in expressions: keys: {#keyid}",
"code": "ValidationException",
"time": "2022-05-06T00:24:03.502Z",


al utilizar el ExpressionAttributeNames debo de relacionar el key con un sobre nombre diferente "Key" pero en la tabla justamente su id se llama key y me genera un el anterior error al hacer el update este mi codigo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
async function updateUser(key, sortkey, dateFiling) {
    try {
 
        let params = {
            TableName: env.getEnv(CTE.User),
            Key: { "#keyid": key , "sortkey": sortkey },
            UpdateExpression: "set dateFiling = :dateFiling",
            ExpressionAttributeNames: { '#keyid': 'key' },
            ExpressionAttributeValues: { ":dateFiling": dateFiling }
        };
        await db.updateItem(params);
        console.log(params);
 
    }
    catch (error) {
 
        console.log('Error  in updateUser %j:', error);
    }
}


mi duda es exactamente con el ExpressionAttributeNames ya que no toma el sobre nombre keyid para hacer referencia al key y no tener problema con el uso de la palabra reservada. Alguien me puede ayudar. plis
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder