Как получить имя столбца данных из базы данных RDS в качестве ответа в JSON в лямбда-функции AWS с использованием Nodejs

 "records": [
      [
        {
          "stringValue": "Smile Foundation2"
        },
        {
          "stringValue": "Mumbai"
        },
        {
          "stringValue": "+918600250073"
        },
        {
          "stringValue": "Children"
        },
        {
          "stringValue": "Alandi Pune ,411021"
        },

Итак, я получаю этот ответ, но имя ключа одинаково для всех, что я хочу, чтобы оно было другим.

Можете ли вы объяснить немного больше? Какой это API? Какой тип базы данных? Что такое запрос?

Malindu 20.12.2020 15:51

Я пишу лямбда-функцию, в которой запускаю запрос выбора для извлечения данных из базы данных RDS. В ответ я получаю приведенный выше ответ, но ключ для каждого значения одинаков. Я хочу, чтобы ключ был таким же, как имя столбца или любой другой ключ. Я пишу код на javascript

sarvesh pathak 20.12.2020 16:03

Используете ли вы библиотеку для запросов к базе данных непосредственно из Lambda? Если да, могу я узнать библиотеку? И это помогает, если вы отправляете аналогичный запрос для отладки.

Malindu 20.12.2020 16:14

Нет, я не использую никакую библиотеку.

sarvesh pathak 20.12.2020 17:20
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
2
4
689
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать простой запрос select, чтобы получить все необходимые field names и их values

Я добавляю код Node.js ниже для справки, который извлекает данные как JSON в ответ из базы данных с помощью AWS Lambda Function.

var mysql = require ('mysql');

var pool  = mysql.createPool
({ 
    host     : 'your RDS endpoint',
    database : 'your database name',
    user     : 'your database username',
    password : 'your database password',
});

exports.handler = (event, context, callback) =>

{
    context.callbackWaitsForEmptyEventLoop = false;
    
    pool.getConnection(function(error, connection) 
    {
    
        connection.query ("SELECT column_name FROM table_name", function(error, results, fields) 
        {
            connection.release();
            if (error) callback(error);
            else callback(null, JSON.stringify(results));
        });
  
  });
  
};

Ключ остается таким же, как stringValue, когда я получаю ответ JSON, как я могу его получить?

sarvesh pathak 21.12.2020 08:58

Не могли бы вы поделиться своим кодом, чтобы было намного проще добраться до основной причины?

Muhammad Arsalan Hassan 21.12.2020 10:00

Я получил решение. Спасибо за помощь

sarvesh pathak 21.12.2020 10:45

@sarvesh pathak не могли бы вы поделиться решением

Zani123 17.12.2021 10:39

@sarveshpathak, почему бы вам не поделиться решением?

ninjadave 13.02.2023 09:04

Другие вопросы по теме