我正在尝试配置我现有的python lambda函数,它是使用chalice部署的。我尝试使用lambda配置ALB,但似乎ALB无法与Chalice部署的项目通信。似乎我们用于API网关的Chalice结构不能用于ALB。有没有办法配置现有的Chalice项目来响应ALB,而不需要太多的代码更改?
发布于 2021-08-23 03:21:22
我也有同样的问题,但我找不到合适的答案。
因此,我决定定义另一个lambda项目来代理ALB和API Gateway之间的连接。
我的架构是ALB ->新的lambda ->应用编程接口网关->现有的lambda。"new lambda“的实现如下。
我认为这不是最好的解决方案,但却是解决问题的最简单的方法。
def lambda_handler(event, context):
path = event['path'] + '?'
if "queryStringParameters" in event.keys():
dict = event['queryStringParameters']
for key in dict:
path += key + '=' + dict[key] + '&'
if event['httpMethod'] == "GET":
return {
'statusCode': 301,
'headers': {
'Location': 'https://foo.execute-api.region-name-1.amazonaws.com/bar' + path
}
}
else:
return {
'statusCode': 308,
'headers': {
'Location': 'https://foo.execute-api.region-name-1.amazonaws.com/bar' + path
},
'body': event['body']
}https://stackoverflow.com/questions/67064626
复制相似问题