我在Flask中编写了一个多端点Web服务,并在API Gateway和Lambda上运行,这要归功于
Zappa
.
我还有第二个非常小的lambda,写在Node中,它周期性地访问一个webservice端点。我通过配置小lambda来访问Internet,然后使用Node的
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}`,
}
};
这个很好用。但现在我想知道我是否
应该
而是让小lambda直接使用AWS SDK调用API端点。我看到过其他S.O.关于从lambdas调用lambdas的问题,但我没有看到任何目标lambda是多端点Web服务的例子。我发现的所有例子都被使用了
new AWS.Lambda({...})
然后打电话
invokeFunction
和情妇在一起。
有没有方法将一个事件传递给目标lambda,其中包含我要调用的特定端点的路径?(还有auth头等等。)****或者****考虑到我已经有了工作代码,这真的是个愚蠢的想法吗?我的想法是直接调用SDK lambda可能(这是真的吗?)绕过API网关可以更便宜,但是,通过API网关直接命中端点更有利于日志记录。由于周期性的lambda每天运行一次,它可能是免费的。
如果我现在所拥有的是最好的,那就是一个很好的答案。lambda调用答案也很酷,因为我还没有找到一个目标lambda有多个https端点的好例子。