我有两个lambda在API网关后面使用Chalice。所有端点都由Cognito授权者保护
调用GET /hello
时,我希望第一个Lambda从第二个Lambda获取数据:
# Lambda1
@app.route('/hello')
def say_hello():
name = # fetch data from Lambda2
return Response({'message': 'hello ' + name})
# Lambda2
@app.route('/name')
def a_name():
return Response({'name': 'GLaDOS'})
此请求不必再次通过API网关+授权程序,因为它会产生不必要的开销
如何直接打这个电话
编辑:仅当您出于任何原因无法拥有Internal API Gateway时,我建议使用以下解决方案
使用下面的代码,我可以成功地直接调用另一个Chalice Lambda(无需再次通过API网关+授权程序):
用法示例:
此呼叫是同步的。要创建上述内容的异步版本,请使用
InvocationType='Event'
作为documented here请注意,如果使用其他语言或框架,上面使用的负载将完全相同,因为这是从API网关发送到Lambda函数的格式
相关问题 更多 >
编程相关推荐