Nano Hash - криптовалюты, майнинг, программирование

Как передать параметр объекту события лямбда-функции aws в nodejs 8.10v

Я работаю над проектом, мы создаем бессерверную архитектуру для выполнения вычислительной задачи. Как передать параметры объекту события в лямбда-функции aws.

Есть ли какая-нибудь ссылка, если есть, подскажите.

index.js — функция-обработчик лямбда

exports.handler = (event, context, callback) => {
  context.callbackWaitsForEmptyEventLoop = false;
  const mysql = require("mysql");
  const pool = mysql.createPool({
    host: "test_db.xxxxxxxxxxx.us-east-2.rds.amazonaws.com",
    user: "root",
    password: "xxxxxxxx",
    database: "test_db",
    port: 3306
  });

  pool.getConnection((err, connection) => {
    if (err) throw err;

    // const { fund_name, returns, aum, rating, expense_ratio } = event.body; // BODY PARAMETER REMAINING
    const randomNumber = () => Math.random()*10+1;
    const fund_name = 'example';
    const returns = randomNumber();
    const aum = randomNumber();
    const rating = randomNumber();
    const expense_ratio = randomNumber();

    if (fund_name && returns && aum && rating && expense_ratio) {
      pool.getConnection((err, connection) => {
        if (err) {
          throw err;
        }

        const query = `INSERT INTO mutual_fund_tb(fund_name, returns, aum, rating, expense_ratio) VALUES ('${fund_name}', '${returns}', '${aum}', '${rating}', '${expense_ratio}')`;
        connection.query(query, (err, results, fields) => {
          if (err) {
            throw err;
          }

          if (results.affectedRows === 1) {
            const response = {
              data: {...event.body},
              message: "Data successfully inserted",
              status: "ok"
            };
            callback(null, response);
          } else {
            const response = {
              data: {},
              message: "Data unable to insert into database.",
              status: "failed"
            };
            callback(null, response);
          }
        });
      });
    } else {
      const response = {
        data: {},
        message: "Invalid arguments passed. Please pass valid arguments",
        status: "failed"
      };
      callback(null, response);
    }
  });
};
04.09.2018

  • Ответ будет зависеть от исходного события для лямбды. Вам нужно будет предоставить немного больше информации о том, что вы пытаетесь сделать. 04.09.2018
  • @LukeWaite, я добавил функцию обработчика лямбда index.js. 04.09.2018

Ответы:


1

ЕСЛИ вы используете API Gateway, то на диаграмме выполнения метода щелкните ответ интеграции (лямбда-функция типа интеграции), и под ним у нас есть поле Body mapping template, где вы можете добавить application/json или txt/xml, а затем введите сопоставление вручную, например, для в нашем случае мы используем application/json

{ "abc" : $input.params('$def') } Таким образом, abc можно получить в вашей лямбда-функции, а def можно передать в url при вызове шлюза API.

На данный момент вы можете использовать интеграцию лямбда-прокси, и тогда вам не нужно предоставлять это сопоставление, и вы все равно сможете получить доступ к параметрам документы aws

04.09.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..