![](/img/trans.png)
[英]How to apply regex for Google Cloud Storage Bucket using Python
[英]Create Folders inside google cloud storage bucket using python
我正在尝试使用 python 客户端库在 Google Cloud 存储上创建一个包含 2 个空文件夹的新存储桶。
我参考了GCS
的 python 客户端库 API ( https://google-cloud-python.readthedocs.io/en/latest/storage/client.html ) 并找到了create_bucket()
方法,但我也想创建 2 个文件夹 - 其中包含“已处理”和“未处理”,但找不到创建文件夹的方法。 任何帮助,将不胜感激。
谢谢
GCS 有一个扁平的命名空间,即“文件夹”的概念不是内置到服务中的,而是由各种客户端实现的抽象。 例如,Cloud Storage Web UI (console.cloud.google.com/storage/browser) 和 gsutil 都使用以“/”结尾的对象名称来实现文件夹抽象。因此,您可以通过创建像您这样的对象来创建文件夹- bucket/abc/def/ 但这只会是了解/支持该命名约定的客户的文件夹。
def copyFilesInFolder(self, file_name, src_blob_name, destination_blob_name):
"""Copies a blob from one bucket to another with a new name."""
# bucket_name = "your-bucket-name"
# blob_name = "your-object-name"
# destination_bucket_name = "destination-bucket-name"
# destination_blob_name = "destination-object-name"
# storage_client = storage.Client()
srcBlob = src_blob_name + '/' + file_name
destBlob = destination_blob_name + '/' + file_name
source_blob = self.bucket.blob(srcBlob)
destination_bucket = storage_client.bucket(destBlob)
blob_copy = self.bucket.copy_blob(
source_blob, self.bucket, destBlob
)
print(blob_copy)
print(
"File {} in bucket {} copied to blob {} in bucket {}.".format(
file_name,
src_blob_name,
file_name,
destination_blob_name,
)
)
return True
在 GCP 中不存在直接创建文件夹的概念。 所以我们可以在新文件夹中保存一个新文件,这样即使目标文件夹不存在它也会被创建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.