创建S3文件夹别名或将URL路径重定向到S3文件夹

mtu*_*rek 8 amazon-s3 amazon-cloudfront

是否可以为S3存储桶中的文件夹设置别名?

这就是我想要实现的目标:我希望拥有一个包含各种项目文档的网站,并将这些项目的新版本的文档上传到S3存储桶中的文件夹.

存储桶内容将是这样的:

<projectA>
|---<0.1.0>
    |---index.html
|---<0.2.0>
    |---index.html    
<projectB>
|---<1.0.0>
    |---index.html
|---<1.1.0>
    |---index.html
index.html
Run Code Online (Sandbox Code Playgroud)

现在,我希望将任何项目的最新版本别名为"最新".因此,当我上传projectB的1.2.0版时,我从版本1.1.0中删除别名'latest'并将别名添加到新上传的'1.2.0'.

并且url到索引页面projectB/1.2.0将是xxx.cloudfront.net/projectB/latest/index.html

这样的事情甚至可能吗?也许在cloudfront中有一些重定向?(或路线53)

Rob*_*bie 3

CloudFront 的两种可能方式。

最简单的方法是设置一个指向您的存储桶的 CloudFront,并使用“原始路径”值。在您的示例中,您将源路径设置为projectB/1.2.0并调用您的发行版“latest.mydomain.com”。更新文件时,转到源并更改源路径。

更复杂的版本是使用 Lambda 函数。将 lambda 函数挂接到“原始请求”,因为它是专门为重写 URL 而设计的。https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html