У меня 3 функции.
- Cron задание лямбда-функции
- Управляемая событиями функция, которая определяет, когда новая запись добавляется в DynamoDB
- Функция многократного использования, которая в данный момент вызывается двумя вышеуказанными функциями
Функция задания Cron
export async function scheduledFunction() {
const detailsHistory = await sharedFunction(param1);
}
Функция, управляемая событиями
export async function eventFunction(event) {
event.Records.forEach(async record => {
if (record.eventName === 'INSERT') {
await sharedFunction(param1)
}
}
}
Функция, вызываемая как функцией события, так и запланированной
const sharedFunction = async (param1) {
const apiUrl = 'xxxxxx';
const details = await axios.get(apiUrl, {
headers: {
'x-api-key': xxxx
}
});
}
Функция события работает, когда DynamoDB
имеет новую вставку, а затем вызывает сторонний API, который работает как ожидалось
Запланированная функция срабатывает каждые 4 часа, работает и попадает в sharedFunction, но когда она достигает вызова API await axios.get
, она просто ничего не делает, я не получаю никаких ошибок в CloudWatch
. Я поместил console.logs()
до и после звонка, и он записывает звонок до, но ничего после.