Вызов лямбды aws из другой лямбды в определенное время

У меня есть лямбда-функция (скажем, A), которая должна вызывать другую лямбда-функцию (скажем, B). Но эта другая функция (B) не должна запускаться во время вызова, а должна выполняться во время, определенное A.

Ниже показано, как я пытаюсь вызвать функцию B внутри функции A.

function startRecording(startTime, roomName) {
    const payload = {
      roomName
    }
    
    const param = {
      FunctionName: 'consult-classroom-api-dev-StartRecording',
      InvocationType: "RequestResponse",
      Payload: JSON.stringify(payload)
    }
    
    return new Promise((resolve, reject) => {
       lambda.invoke(param,(err, data) => {
          if (err) {
            reject(err);
          } else {
            let payload = JSON.parse(data.Payload);
            let payloadBody = JSON.parse(payload.body);
            resolve(payloadBody);
          }
        }
      );
    });
  }

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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Это невозможно при использовании только Lambda. Вы не можете выполнить Lambda в определенное время, используя только службу Lambda и не выполняя никаких функций.

Я могу придумать только 2 варианта:

1) С помощью сервиса Шаговые функции. Эта служба позволяет вам координировать выполнение Lambda и имеет «Подождите» шаг, который вы можете использовать для введения задержки между выполнением одной функции и выполнением другой.

2) Вы можете использовать CloudWatch> Правила событий, чтобы запланировать выполнение функции, а после ее выполнения удалить правило. Это было бы больше работы, поскольку это не предназначено для этого варианта использования, но это выполнимо.

Спасибо за ваше мнение @DiegoJancic. Раньше я не пользовался сервисом Step Functions, но посмотрю. Второй вариант у меня не работает, так как я ничего не могу делать вручную.

Yasith Prabuddhaka 18.12.2018 05:07

Второй вариант можно сделать через вызов API. Вероятно, это довольно плохое решение, поскольку эта служба не предназначена для создания и удаления правил, но, вероятно, все же возможно. Функция Step является правильной для ИМО.

Diego Jancic 18.12.2018 05:11

Спасибо @DiegoJancic. Я сейчас прохожу через пошаговую функцию. Я отмечу это как решенное, если мне удалось решить его с помощью функции Step.

Yasith Prabuddhaka 18.12.2018 05:17

Я решил это с помощью пошаговых функций aws. Я опубликую свой блог об этом в ближайшее время. Спасибо

Yasith Prabuddhaka 19.04.2019 08:20

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