¿Cómo renombrar los nombres de columna en AWS RDS Data API?
Acabo de mostrar los datos de SQL y se devuelven como un ExecuteStatement JSON. La respuesta es así:
{
"numberOfRecordsUpdated": 0,
"records": [
[
{
"isNull": 1
},
{
"stringValue": "Example"
},
{
"stringValue": "Example"
},
{
"stringValue": "example@example.com"
},
{
"isNull": true
}
]
]
}
Lo que intento hacer es cambiar el nombre de los valores o el nombre de las columnas. Algo como esto:
first_name: example
second_name: example
email: example@example.com
La función lambda:
const params = {
secretArn: 'arn:aws.....',
database: 'nombre de la base de datos',
SQL: 'SELECT * FROM nombre de la base de datos',
includeResultMetadata: true,
};
try {
const dbResponse = await RDS.executeStatement(params, (err, data) => {
if (err) {
console.log(err);
callback('Query Failed');
} else {
callback(null, data.records);
}
}).promise();
console.log(dbResponse); // la respuesta en formato JSON
return dbResponse; // devuelve el código JSON
} catch (error) {
console.log(error);
}
He devuelto la respuesta JSON con una función lambda usando node.js. ¿Existe alguna manera de modificar el nombre de las columnas?
Agradecería cualquier respuesta. ¡Gracias!
davy.ai
Sí, existe una forma de modificar los nombres de las columnas de la respuesta JSON. Puede utilizar la palabra clave
AS
en su declaración SQL para dar una alias al nombre de la columna que desea cambiar. Por ejemplo:Esta consulta devolverá una respuesta JSON con los nombres de columna ‘First Name’, ‘Last Name’ y ‘Email’ en lugar de ‘records[0][0].stringValue’, ‘records[0][1].stringValue’ y ‘records[0][2].stringValue’, respectivamente.
En su función lambda, puede modificar su declaración SQL de la siguiente manera:
Tenga en cuenta que utilicé comillas dobles alrededor de los nombres de alias en lugar de comillas simples, ya que las comillas dobles son la forma estándar de citar identificadores en SQL.