У меня есть веб-сервис с несколькими конечными точками, написанный на Flask и работающий на API Gateway и Lambda, благодаря Zappa .
У меня есть вторая, очень маленькая лямбда, написанная на Node,который периодически попадает на одну из конечных точек веб-сервиса.Я делаю это, настраивая маленькую лямбду на доступ в Интернет, затем использую Node's https.request
со следующими параметрами:
const options = {
hostname: 'XXXXXXXXXX.execute-api.us-east-1.amazonaws.com',
port: 443,
path: '/path/to/my/endpoint',
method: 'POST',
headers: {
'Authorization': `Bearer ${s3cretN0tSt0r3d1nTheC0de}`,
}
};
, и это прекрасно работает.Но теперь мне интересно, должен ли я вместо того, чтобы маленькая лямбда вызывала конечную точку API напрямую, используя AWS SDK.Я видел другие SO вопросы о вызове лямбд из лямбд, но я не видел примеров, когда целевая лямбда была веб-службой с несколькими конечными точками.Все примеры, которые я нашел, использовали new AWS.Lambda({...})
, а затем вызывали invokeFunction
с параметрами.
Есть ли способ передать, скажем, событие в целевую лямбду, которая содержит путь к конкретной конечной точке, которую я хочувызов?(и заголовки аутентификации и т. д.) * * * * ИЛИ * * * * Это просто глупая идея, учитывая, что у меня уже есть рабочий код?Я думаю, что прямой лямбда-вызов SDK может (это правда?) Обойти API-шлюз и будет дешевле, НО, попадание на конечную точку напрямую через API-шлюз лучше для регистрации.А поскольку периодическая лямбда запускается раз в день, она, вероятно, в любом случае бесплатна.
Если то, что у меня есть сейчас, лучше, то это хороший ответ.Ответ на лямбда-вызов тоже был бы клевым, поскольку я не смог найти хорошего примера, в котором целевая лямбда имела несколько конечных точек https.