当前位置: 首页 > 知识库问答 >
问题:

不使用AWS版本控制存储重复文件

谷泳
2023-03-14

我正在尝试将大量文件上传到AWS s3存储桶。我还需要启用文件版本控制来备份,以防一些文件被意外覆盖。

然而,当我上传已经存在的完全相同的文件时,当前启用了AWS s3版本控制,AWS存储了完全相同文件的两个版本。这是一个问题,因为我将多次上载同一个文件,在这种情况下,我希望不要使用版本控制来防止由于存储同一对象的多个版本而产生的额外数据费用。但是,如果对文件进行了更改,那么我希望使用aws版本控制。

有没有办法配置 aws s3 存储桶版本控制,以便忽略重复的上传文件但已更改或新文件已激活版本控制?(如果有帮助,我用来执行此操作的脚本使用 python 和 awscli)

共有1个答案

栾峰
2023-03-14

S3本身并不支持这一点。如果您反复上传同一个文件,则会添加一个新版本。

根据您的使用情况,如果使用AWS CLI,您可以在使用< code>aws s3 sync命令时添加< code> - size-only标志。

根据添加此选项的文档:

使每个键的大小成为决定是否从源同步到目标的唯一标准。

因此,只有当文件大小发生变化时,它才会将文件复制到S3。

这可能适用于您的用例,也可能不适用于您的用例,因为它只考虑大小,所以一定要考虑到这一点

 类似资料:
  • 我开始学习java,在使用java之后遇到了这样一个问题。当我使用java时,这个代码会弹出。我在网上搜索,发现了许多类似的问题,但最终都没有任何帮助,有些问题由于我的英语很差,根本无法理解。问题代码和屏幕截图附在下面。希望你能帮助解决这个问题。 这个在控制台弹出

  • Unix was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. — Doug Gwyn 你曾经遇到过误删除了某些文件而又希望恢复的情形吧? 本书中提及的最重要的技巧就是将 Puppet 的 配置清单(manifests)纳入像

  • 当我在项目中使用AppSync时,我想知道是否有一种方法可以从控制台版本化AppSync API,因为我已经为它制作了模式。我找不到为架构做这件事的方法,因为它容易发生无意的编辑。可从控制台对AWS Lambda进行版本控制。

  • 我使用以下代码将文件从一个桶复制到另一个桶 但是我总是得到“com . Amazon AWS . services . S3 . model . Amazon S3 exception:Access Denied(服务:亚马逊S3;状态代码:403;错误代码:拒绝访问;请求ID: B6466D562B6988E2)“`作为回应,原因可能是什么

  • 我有一个包含数据库备份的S3存储桶。我正在创建一个脚本来下载最新的备份(并最终将其还原到其他地方),但我不确定如何只从存储桶中获取最新的文件。 是否可以使用AWS CLI工具仅将最近的文件从S3存储桶复制到本地目录?

  • 我正在尝试使用Node将文件从AWS S3存储桶复制到另一个存储桶。问题是,如果文件名没有空格,例如:“abc.csv”,它就可以正常工作。但如果我要复制到的文件名中有空格,例如:“abc xyz.csv”。它抛出了下面的错误。 “指定的密钥不存在。”“NoSuchKey:指定的密钥不存在。应请求。extractError(d:\Projects\Other\testproject\s3filet

  • 我以前在我的Java项目中与Maven一起工作,但今天我开始与AndroidStudio打交道。 我看到它鼓励使用Gradle,我没有问题学习新的工具。所以我开始了一个非常基本的Android手机应用程序的例子,当我点击一个按钮时,它只说“你好世界”。 我把app/src推到一个Git repo中,并尝试将我的作品放到另一台电脑上,但它并不理解我的项目是Android的项目。我可能错过了一个Gra

  • 我现在已经切换到Android Studio,并用源代码树在Git中保存我的项目。每当我从模块中添加或删除任何库时,它的.iml文件也会更改。如果我提交*.iml真的无关紧要,因为它们是在其他Android Studio中自动生成的。但是,在这里它说您应该存储*.iml。我的问题是,我们真的需要和别人分享我们的*.iml吗?若有,原因为何?