У меня есть лямбда-функция (скажем, 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?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это невозможно при использовании только Lambda. Вы не можете выполнить Lambda в определенное время, используя только службу Lambda и не выполняя никаких функций.
Я могу придумать только 2 варианта:
1) С помощью сервиса Шаговые функции. Эта служба позволяет вам координировать выполнение Lambda и имеет «Подождите» шаг, который вы можете использовать для введения задержки между выполнением одной функции и выполнением другой.
2) Вы можете использовать CloudWatch> Правила событий, чтобы запланировать выполнение функции, а после ее выполнения удалить правило. Это было бы больше работы, поскольку это не предназначено для этого варианта использования, но это выполнимо.
Второй вариант можно сделать через вызов API. Вероятно, это довольно плохое решение, поскольку эта служба не предназначена для создания и удаления правил, но, вероятно, все же возможно. Функция Step является правильной для ИМО.
Спасибо @DiegoJancic. Я сейчас прохожу через пошаговую функцию. Я отмечу это как решенное, если мне удалось решить его с помощью функции Step.
Я решил это с помощью пошаговых функций aws. Я опубликую свой блог об этом в ближайшее время. Спасибо
Спасибо за ваше мнение @DiegoJancic. Раньше я не пользовался сервисом Step Functions, но посмотрю. Второй вариант у меня не работает, так как я ничего не могу делать вручную.