Что ближе всего к функциональности символической ссылки в S3 без необходимости делать открытыми сегменты s3? - PullRequest
0 голосов
/ 25 октября 2019

Я хочу иметь возможность отправлять запросы получения от лямбды на путь ключа S3 и перенаправлять его в другое место, если этот путь ключа S3 существует. Я знаю, что существует функция перенаправления, но для этого требуется сделать хранилища общедоступными для статических перенаправлений веб-сайтов, что не будет работать для нашего варианта использования.

Могу ли я что-то сделать с Route53 и / или API Gateway для имитациисимвольная функциональность?

1 Ответ

0 голосов
/ 26 октября 2019

Это идеальное использование для Lambda @ Edge с CloudFront.

Чтобы сделать это, вам сначала нужно развернуть дистрибутив CloudFront с исходной корзиной S3. В вашей Lambda вы должны затем направить запросы GET для этих объектов в ваш дистрибутив CloudFront, а не в корзину S3 напрямую.

Как только запросы будут направлены в ваш дистрибутив CloudFront, вам потребуется вторая лямбдакоторый будет развернут на Edge как Origin Response Lambda @ Edge. С помощью этой Origin Response Lambda @ Edge вы перехватите ответ от источника, прежде чем он будет возвращен в Средство просмотра (т. Е. Запрашивающему), и сможете изменить ответ. В коде для вашего Lambda @ Edge вы сможете проверить, возвращается ли объект из источника S3 или ответ является ошибкой, а затем создать и вернуть ваше перенаправление, если необходимо.

Выподробнее о Lambda @ Edge можно прочитать в документации AWS здесь .

...