Ошибка ввода / вывода при записи в корзину облачного хранилища Google
Я создал корзину gcs на https://console.cloud.google.com/storage/
и успешно смонтирован на экземпляре с gcsfuse, однако, когда я пытаюсь записать в смонтированный каталог, он показывает ошибку ввода / вывода.
fuse_debug: Op 0x00000003 connection.go:395] <- LookUpInode (parent 1, name "test")
gcs: Req 0x1: <- StatObject("test/")
gcs: Req 0x2: <- StatObject("test")
gcs: Req 0x1: -> StatObject("test/") (31.355698ms): gcs.NotFoundError: googleapi: Error 404: Not Found, notFound
gcs: Req 0x2: -> StatObject("test") (51.589538ms): gcs.NotFoundError: googleapi: Error 404: Not Found, notFound
fuse_debug: Op 0x00000003 connection.go:476] -> Error: "no such file or directory"
fuse_debug: Op 0x00000004 connection.go:395] <- MkDir (parent 1, name "test")
gcs: Req 0x3: <- CreateObject("test/")
gcs: Req 0x3: -> CreateObject("test/") (13.513239ms): googleapi: Error 403: Insufficient Permission, insufficientPermissions
fuse_debug: Op 0x00000004 connection.go:476] -> Error: "CreateChildDir: googleapi: Error 403: Insufficient Permission, insufficientPermissions"
fuse: 2016/06/09 02:12:40.128885 *fuseops.MkDirOp error: CreateChildDir: googleapi: Error 403: Insufficient Permission, insufficientPermissions
2 ответа
Как видно из --foreground --debug_fuse
вывод, что вы используете учетные данные, которые не разрешено записывать в корзину. Они, вероятно, только для чтения (StatObject
не возвращал 403, и gcsfuse проверяет при запуске, что он может перечислить ведро).
Попробуйте внимательно прочитать документы о полномочиях. В частности, если вы автоматически получаете учетные данные на виртуальной машине Google Compute Engine, вы, вероятно, забыли создать ее с помощью storage-full
объем.
Пожалуйста, запустите gcsfuse с --foreground
(и, возможно --debug_fuse
) чтобы получить некоторое представление о том, что ошибка, когда это происходит.