Чтение / запись данных в / из Cloud Storage Bucket с помощью gcsfuse

Чтобы смонтировать Google Cloud Storage Bucket в каталог на локальном компьютере для обработки. Используя среду manjaro и установив gcsfuse вручную.

в gs: // bucket01 есть каталоги, содержащие файлы jpg и json

go get -u github.com/googlecloudplatform/gcsfuse
$GOPATH/src/github.com/googlecloudplatform/gcsfuse

GOOGLE_APPLICATION_CREDENTIALS=/run/media/manjaro/gcp/key.json gcsfuse bucket01 /run/media/manjaro/gcp/bucket01

Using mount point: /run/media/manjaro/gcp/bucket01
Opening GCS connection...
Mounting file system...
File system has been successfully mounted.

cd /run/media/manjaro/gcp/bucket01
ls

# empty
# The expected outcome is data from gs://bucket01 populates /run/media/manjaro/gcp/bucket01
# Updates in /run/media/manjaro/gcp/bucket01 will also be seen in gs://bucket01

Правильно ли я использую gcsfuse?


person jj pan    schedule 09.10.2020    source источник


Ответы (1)


Попробуйте использовать неявные каталоги

Как упоминалось выше, по умолчанию не допускается неявное существование каталогов. Поскольку обычные операции файловой системы, такие как mkdir, будут работать правильно, если вы настроите структуру корзины, используя только gcsfuse, вы не заметите в этом ничего странного. Однако, если вы используете какой-либо другой инструмент для настройки объектов в GCS (например, браузер хранилища в Google Developers Console), вы можете заметить, что не все объекты видны, пока вы не создадите для них ведущие каталоги.

gcsfuse поддерживает флаг --implicit-dirs, который изменяет поведение

person marian.vladoi    schedule 09.10.2020
comment
Спасибо. Я пробовал и ждал 10 минут, прежде чем ls в каталоге. Все каталоги и файлы появились - person jj pan; 10.10.2020