Облачное хранилище Google не имеет истинного смысла «папок».Если вы просто «перемещаете» файлы в одном и том же сегменте, то на самом деле вы просто меняете имя, которое отображается на большой двоичный объект в хранилище, и вы можете использовать для этого rename_blob
.Например:
>>> from google.cloud import storage
>>> storage_client = storage.Client()
>>> bucket = storage_client.get_bucket('YOUR_BUCKET_NAME')
>>> blob = bucket.get_blob('/path/to/folder/foo.txt')
>>> blob.name
'/path/to/folder/foo.txt'
>>> bucket.rename_blob(blob, '/new/location/foo.txt')
>>> list(bucket.list_blobs())
[<Blob: YOUR_BUCKET_NAME, b'/new/location/foo.txt'>]
Если вы «перемещаете» файл между сегментами, вам нужно будет использовать copy_blob
, потому что вам действительно нужно передавать данныемежду ведрами.При использовании этой функции параметром name
будет полный путь к файлу, включая любые «папки».