有没有一种方法可以使用标头中的数据从cloudfront重定向到apigateway

时间:2019-11-07 16:20:48

标签: amazon-web-services aws-lambda aws-api-gateway amazon-cloudfront

我们正在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中的代码从未执行过

2 个答案:

答案 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网关