es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El escaneo de AWS SDK DynamoDB no funciona con el código, pero funciona en la interfaz de usuario de DynamoDB en la consola de AWS.

var param = { TableName: 'events-dev', 
FilterExpression: '#user<em>id = :userid AND #dt BETWEEN :dt AND :dt1',
ExpressionAttributeNames: { '#user</em>id': 'user_id', '#dt': 'updatedAt'},
ExpressionAttributeValues: {':userid': 'fc0c6610-e17f-444e-887a-e556f9d17853',':dt': '2021-12-01',':dt1': '2021-12-02'}};

dynamoDb.scan(param, (error, data) => {
    if (!error) { 
        console.log('data==', data.Items)
    }
});

Resultado: []

Pero obtuve una respuesta cuando lo busqué en la consola de AWS.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El código anterior utiliza el método dynamoDb.scan () para escanear una tabla DynamoDB llamada 'events-dev'. El escaneo se filtra utilizando una FilterExpression que incluye condiciones para el user_id y un rango de fechas (updatedAt entre dos fechas). Los ExpressionAttributeNames y ExpressionAttributeValues se utilizan para especificar los nombres y valores de los atributos en el FilterExpression, respectivamente.

    Sin embargo, cuando se ejecuta este código, devuelve un resultado vacío []. Esto contrasta con la respuesta obtenida al buscar los mismos datos en la consola de AWS (como se muestra en la captura de pantalla proporcionada).

    Podría haber múltiples razones para esta discrepancia. Una posibilidad es que el tableName especificado en el código sea incorrecto o no coincida con el nombre real de la tabla en DynamoDB. Otra posibilidad es que haya un problema con la FilterExpression o con los nombres / valores de atributo especificados en los campos ExpressionAttributeNames y ExpressionAttributeValues.

    Para depurar este problema, puede ser útil agregar declaraciones de registro adicionales para rastrear el progreso del código e identificar dónde puede estar ocurriendo la discrepancia. También puede ser útil verificar los valores de los parámetros que se pasan al método scan, comparándolos con los valores especificados en la búsqueda de la consola de AWS.

Comments are closed.