我想将多个.gz文件从一个gcs存储桶复制到另一个存储桶。文件名模式的前缀为'Logs_',后缀为日期,如'20160909',因此完整文件名为Logs_2016090.gz,Logs_20160908.gz等。我想将所有以Logs_开头的文件从一个gcs存储桶复制到另一个gcs存储桶。为此,我在最后使用通配符*,如Logs _ * .gz进行复制操作,如下所示:
Storage.Objects.Copy request =
storageService
.objects()
.copy("source_bucket", "Logs_*.gz", "destination_bucket", ".", content);
上面我正在使用“。”因为所有文件都必须复制到destination_bucket,所以我不能在那里指定单个文件名。不幸的是,此代码不起作用,并且该文件不存在。我不确定这里需要做哪些改变。任何java链接或任何代码都会有所帮助。谢谢!!
答案 0 :(得分:1)
虽然gsutil
命令行实用程序很乐意支持通配符,但GCS API本身是较低级别的命令,而不是。 storage.objects.copy方法必须有一个精确的源和一个精确的目标。
我推荐以下其中一项:
gsutil
或