Как создать пустую папку в Google Storage с помощью Google API?

Как создать пустую папку в Google Storage с помощью Google API? (Предположим, что / разделитель пути.)

2 ответов


Google Cloud Storage не имеет папок или подкаталогов. Однако существует определенная поддержка их подражания. gsutil это Как Работают Подкаталоги является хорошим чтением для некоторого фона.

объекты Google Cloud Storage-это плоское пространство имен, но многие инструменты, включая gsutil и пользовательский интерфейс Google Cloud Storage, создают иллюзию иерархического дерева файлов.

существует два широко используемых соглашения для создания иллюзии пустого подкаталог:

  1. (рекомендуется) создать объект, который заканчивается косой чертой. Например, чтобы создать подкаталог с именем foo в корне ведра вы создадите пустой объект (размер 0) с именем foo/.

  2. (наследие) создайте объект с помощью _$folder$ добавляется к имени. Например, чтобы создать подкаталог с именем foo в корне ведра вы создадите пустой объект (размер 0) называется foo_$folder$.

обратите внимание, что большинство инструментов и утилит теперь используют метод 1. Метод 2 используется реже.


@SheRey-глядя на папки, созданные через веб-интерфейс GCS, тип контента установлен в application/x-www-form-urlencoded;charset=UTF-8 но это не имеет значения. Вот что сработало для меня в python:

# pip install google-cloud-storage

from google.cloud import storage

gcs_client = storage.Client(project='some_project')
bucket = gcs_client.get_bucket('some_bucket')
blob = bucket.blob('some/folder/name/')

blob.upload_from_string('', content_type='application/x-www-form-urlencoded;charset=UTF-8')