我们正在aws apigateway上设置API。想法是,URL的格式为“ example.com/apiName/path”,而阶段(版本)为html标头。如何根据我们的网址格式将用户重定向到特定的API并使用Route53和/或CloudFront进行登台
作为触发lambda的事件,我们尝试了全部4个操作(查看者请求/响应,原始请求/响应)。每次响应为502或503。我们尝试使用默认的lambda hello世界代码,也尝试仅返回{'status':200},但响应相同(503)
def lambda_handler(event, context):
print('In lambda')
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
CloudWatch中没有日志,在lambda的监视图中也没有日志,因此我认为lambda中的代码从未执行过
答案 0 :(得分:0)
由于某些原因,尽管从2019年8月开始支持Python,但Lambda @ Edge中只有javascript代码对我有效
答案 1 :(得分:0)
本周我实际上一直在做同一件事,到目前为止,这就是我所拥有的(对不起,它在node.js中,但您可能可以将其转换)
exports.handler = async (event, context) => {
const response = {
status: '301',
statusDescription: 'Found',
headers: {
location: [{
key: 'Location',
value: "{URL_TO_REDIRECT_TO}",
}],
},
};
return response
}
它将返回301重定向到您指定的任何网址,该网址可以是您的API网关