Tengo una aplicación nodejs y estoy usando putItem() para insertarla en DynamoDB. La tabla a la que estoy pasando el valor tiene una clave principal llamada "id". Ahora, lo que estoy tratando de hacer es generar un UUID y establecer el valor de la clave principal en ese UUID cada vez que inserto los datos. Sin embargo, cuando inserto, la "id" se inserta con comillas dobles. Por ejemplo: en lugar de id: 229f0a06-7257-4727-b825-a6e8ea343b1e , se mostrará como id : "229f0a06-7257-4727-b825-a6e8ea343b1e" . Revisé el esquema y muestra que "id" KeyType es HASH . Este es el código que tengo que insertar en DB:
let data = {}; data.id= uuidv4(); //Trying to set the primary key "id" data.name = "Test"; const dynamoDB = new DynamoDBClient; const result = await dynamoDB.putItem(data); Cuando reviso la tabla DB, muestra id : "229f0a06-7257-4727-b825-a6e8ea343b1e" . ¿Cómo puedo configurar la "id" para que no aparezca entre comillas dobles?
Gracias.
¿Cómo puedo configurar la "id" para que no aparezca entre comillas dobles?
No quieres. El tipo de datos de su clave de partición (= clave hash) es String , que por supuesto es el tipo de datos correcto para los UUID.
Hash Key es un sinónimo de DynamoDB para Partition Key . Como tal, HASH en CreateTable KeySchema API no es un tipo de datos, sino una referencia al campo Partition Key . Los documentos continúan, "los atributos en KeySchema también deben definirse en AttributeDefinitions" , a un tipo de datos a uno de (S)tring , (N)umber o (B)inary .