Google cloud storage 如何使用Google云存储将一些文件rsync和设置为gzip?

Google cloud storage 如何使用Google云存储将一些文件rsync和设置为gzip?,google-cloud-storage,google-cloud-platform,Google Cloud Storage,Google Cloud Platform,我们正在使用谷歌云存储和gsutil命令。我们希望rsync一个包含许多文本文件的大目录,我们希望其中一些文件被压缩,并将其内容编码设置为gzip。在使用gsutil rsync时,我们似乎只能为所有文件设置内容编码(使用-h),这是一个麻烦。我们的一些文件是图像,我们不希望压缩 或者,我们希望运行rsync,只从目标删除源模式中不再存在的内容。我们不想也上传。我们只想从GCS中删除不再在本地源目录中的内容。但是,我没有找到该选项。gsutil rsync命令不支持在上载时压缩文件的选项(即类似

我们正在使用谷歌云存储和
gsutil
命令。我们希望rsync一个包含许多文本文件的大目录,我们希望其中一些文件被压缩,并将其内容编码设置为gzip。在使用
gsutil rsync
时,我们似乎只能为所有文件设置内容编码(使用
-h
),这是一个麻烦。我们的一些文件是图像,我们不希望压缩


或者,我们希望运行rsync,只从目标删除源模式中不再存在的内容。我们不想也上传。我们只想从GCS中删除不再在本地源目录中的内容。但是,我没有找到该选项。

gsutil rsync命令不支持在上载时压缩文件的选项(即类似于gsutil cp-z选项的选项)。我们考虑添加这样一个选项,但它会产生很多复杂性和潜在的令人惊讶的行为(例如,对使用gsutil cp-z上载的对象进行同步时)

此外,我不认为手动设置内容编码的方式,你在你的第二段中所说的工作方式,你期待的。做一些类似于:

gsutil -h Content-Encoding:gzip rsync ...
将导致对象未被gzip,但仍具有内容编码元数据集——这将混淆下载时作用于内容编码头的用户代理(如浏览器)

您是否考虑过从源代码处压缩要压缩的文件?如果不能在源代码处压缩这些文件,是否可以编写一个shell脚本,将所有内容复制到临时目录,压缩要压缩的文件,然后从那里运行gsutil rsync