是否有人成功使用gcsfuse? 香港专业教育学院试图删除桶的所有默认权限, 并设置服务帐户:
gcloud auth activate-service-account to activate serviceaccname
然后运行:
gcsfuse --debug_gcs --foreground cloudbuckethere /backup
gcs: Req 0x0: -> ListObjects() (307.880239ms): googleapi: Error 403: xxxxxx-compute@developer.gserviceaccount.com does not have storage.objects.list access
奇怪的是,它抱怨用户xxxxx-compute不是我激活的服务帐号
gcloud auth list
确实显示我当前的服务帐户处于活动状态...
我还将管理员所有者,管理对象所有者,写入对象,读取对象授予了我的serviceaccname
如果我使用所有权限(包括旧版权限)向我的存储桶授予xxxxx-compute,则列表似乎有效。但是使用
将任何文件写入目录失败googleapi: Error 403: Insufficient Permission, insufficientPermissions
任何人都有运气吗?
答案 0 :(得分:0)
我找到了一个解决方案,不确定这是否是一个好的解决方案,但它确实有效。
设置服务帐户并下载json文件。 使用上述服务帐户名称授予对存储桶的访问权限。
然后运行添加到环境变量中,指向服务json文件的路径。
GOOGLE_APPLICATION_CREDENTIALS=/path-to-json/gcloud.json gcsfuse --debug_gcs --foreground bucketname /path-to-mount
另请注意,默认情况下它可能会在tmp目录中占用大量空间。添加标志
... --temp-dir=/someotherpath
如果你在/ tmp 中的空间有限,会非常有用