AWS S3网站版本控制

ike*_*tor 10 deployment amazon-s3 amazon-web-services aws-sdk

我在AWS S3存储桶上运行一个网站.我必须偶尔更新一下这个网站.目前,当我进行部署时,我只是将构建的文件复制到我的存储桶并覆盖现有文件.

有没有办法在这些部署上进行一​​些版本控制?我知道有一个内置的版本控制S3,但它只适用于我认为的单个文件.

最好的选择是每个部署都使用git commit-id进行标记,如果需要,我可以回滚到特定的commit-id.

有任何想法吗?已经尝试使用commit-id -prefix命名目录,但问题是index.html必须存在于root目录中.

Sha*_*gli -3

您可以使用以下任一方法配置存储桶版本控制:

  • 使用 Amazon S3 控制台配置版本控制。
  • 使用 AWS 开发工具包以编程方式配置版本控制

控制台和开发工具包都调用 Amazon S3 提供的 REST API 来管理版本控制。

笔记

如果需要,您还可以直接从代码进行 Amazon S3 REST API 调用。但是,这可能很麻烦,因为它需要您编写代码来验证您的请求。

您创建的每个存储桶都有一个与其关联的版本控制子资源(请参阅存储桶配置选项)。默认情况下,您的存储桶没有版本控制,因此版本控制子资源存储空的版本控制配置。

<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
</VersioningConfiguration>
Run Code Online (Sandbox Code Playgroud)

要启用版本控制,您可以向 Amazon S3 发送带有包含状态的版本控制配置的请求。

<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
  <Status>Enabled</Status> 
</VersioningConfiguration>
Run Code Online (Sandbox Code Playgroud)

要暂停版本控制,请将状态值设置为“已暂停”。

更多信息请参见此处