LambdaEdge — Как изменить исходный путь без изменения uri пользователя?

#amazon-web-services #amazon-s3 #aws-lambda #amazon-cloudfront

Вопрос:

У меня есть корзина s3 с подпапкой, и мне нужно изменить URL пользователя на конкретную подпапку:

 cloudfront.net/test/x =gt; access subfolder /login/ of s3. cloudfront.net/test/a/b =gt; access subfolder /account/ of s3.  

Я попытался изменить uri запроса, но он изменил URL пользователя.

Я попытался изменить путь, но исходный результат: путь uri:

 exports.handler = (event, context, callback) =gt; {  const request = event.Records[0].cf.request;    const url = request.uri;  let finalPath = request.origin.custom.path  const regex = url.match(//[a-z-1-9.]*.[a-z] /)   const a = regex ? regex[0] : ''    if(url.indexOf('a/b') !== -1){  finalPath = '/account'   a  } else if(url.indexOf('a') !== -1){  finalPath = '/settings'   a  } else if(url.indexOf('x') !== -1){  finalPath = '/login'   a  }    request.origin.custom.path = finalPath    callback(null, request); };  

И в результате:

 404 Not Found  Code: NoSuchKey Message: The specified key does not exist. Key: login/autenticacao/index.html RequestId: xxx HostId: xxx