【发布时间】:2020-10-13 22:57:22
【问题描述】:
我已按照 Google Cloud 说明执行 gsutil install guide,并且已将 updated GCloud components 更新到最新版本。我刚刚安装并配置了 GCloud 以使用我的凭据和项目。首先,我使用以下命令从我的 Firestore 中导出我需要的单个集合:
gcloud firestore export gs://my-project-id.appspot.com --collection-ids=theCollectionINeed
现在我看到这个导出作为文件夹在我的 Firebase 控制台 Storage 部分中。作为项目所有者,我想将此导出到我的本地系统。为此,我认为我需要使用 gsutil 才能复制它。阅读download the object from your bucket的说明,我尝试使用以下命令,但出现此错误:
$ gsutil cp -r gs://m-project-id.appspot.com/2020-05-22T02:01:06_86154 .
Copying gs://lucky-level-dev-6ac34.appspot.com/2020-05-22T02:01:06_86154/2020-05-22T02:01:06_86154.overall_export_metadata...
OSError: The filename, directory name, or volume label syntax is incorrect.
我在 Windows 10 环境中使用 cmd 运行此命令。
我希望能够将此文件夹从云端下载到我的本地驱动器。
更新
之后,我尝试按照建议更改存储桶文件夹(对象前缀):
gsutil mv gs://my-project-id.appspot.com/2020-05-22T02:01:06_86154 gs://my-project-id.appspot.com/2020-06-23_someFolder
但现在再次尝试会引发一个新错误:
gsutil cp -r gs://my-project-id.appspot.com/2020-05-22_someFolder .
Copying gs://my-project-id.appspot.com/2020-05-22_someFolder/2020-05-22T02:01:06_86154.overall_export_metadata...
OSError: Invalid argument.9.0 B]
当然我也需要更改文件名?
【问题讨论】:
-
我怀疑问题是 GCS 对象前缀包含冒号,这些可能会导致 Windows 出现问题。我没有窗户。请尝试
gsutil mv gs://m-project-id.appspot.com/2020-05-22T02:01:06_86154 gs://m-project-id.appspot.com/X重命名对象,然后再尝试gsutil cp -r gs://m-project-id.appspot.com/X .。 -
@DazWilkin 感谢您的建议。现在我已经超越了那个错误;可悲的是,现在我得到了以下信息:
OSError: Invalid argument.9.0 B]我会更新我的问题。有什么想法吗? -
@DazWilkin 我还必须重命名名称中还包含冒号的内部文件。再次感谢!
-
您可能希望向 Google 提交错误。该命令应该在受支持的操作系统上运行,并且显然不适用于 Windows。 issuetracker.google.com
标签: firebase google-cloud-firestore gcloud gsutil