3

我已经安装了 gcsfuse 来支持需要类似 posix 的挂载点的应用程序。

使用 gsutil 写入的现有数据不可见,但通过浏览器(Cloud Storage > Storage Browser)写入的数据可见。

根据https://cloud.google.com/storage/docs/gcsfuse -

您可以使用 Fuse Adapter 和 gsutil 等工具同时读取和写入 Google Cloud Storage。例如,如果您使用 Fuse Adapter 编写对象,则可以立即使用 gsutil 读取该对象,反之亦然,无需重新挂载存储桶或重新启动 Compute Engine 实例。

有没有人成功地与 gcsfuse 和 gsutil 合作?

我觉得我错过了什么。

谢谢!

4

1 回答 1

7

这可能是因为 gsutil 不会创建目录占位符对象,而 gcsfuse 默认需要它们才能使目录可见。确认:当您在已经可以看到的目录(例如根目录)中使用 gsutil 编写对象时,它会显示吗?

您可以通过以下两种方式之一解决此问题:

  1. 为您缺少的目录创建目录占位符。对丢失的对象执行此操作的最简单方法foo/bar/baz是使用 gcsfuse 挂载:

    mkdir -p foo/bar
    
  2. 使用标志运行 gcsfuse --implicit-dirs。不过,请务必阅读上面链接的文档以获取警告。

于 2015-07-01T22:10:09.123 回答