如何用Python将本地文件上传至GCS存储桶的指定文件夹?
如何将文件上传至GCS存储桶的指定文件夹?
GCS中并没有实际的文件夹结构,所谓的“文件夹”是通过对象名称的路径前缀来模拟的。要上传文件到指定“文件夹”,只需在目标对象名中包含对应的路径前缀即可,无需提前创建文件夹。
修改后的代码示例
你只需要调整调用函数时的destination_blob_name参数,将其设置为文件夹名/文件名的格式:
from google.cloud import storage def upload_to_bucket(destination_blob_name, path_to_file, bucket_name): """ Upload data to a bucket""" # Explicitly use service account credentials by specifying the private key # file. storage_client = storage.Client.from_service_account_json( 'service_account.json') bucket = storage_client.get_bucket(bucket_name) blob = bucket.blob(destination_blob_name) blob.upload_from_filename(path_to_file) return blob.public_url # 上传至folder_1文件夹 print(upload_to_bucket('folder_1/hello_world.py', 'hello_world.py', 'gcs_bucket_name')) # 如需上传至folder_2,只需修改目标路径 # print(upload_to_bucket('folder_2/hello_world.py', 'hello_world.py', 'gcs_bucket_name'))
关键说明
- 当你指定类似
folder_1/hello_world.py的目标对象名时,GCS会自动通过前缀folder_1/模拟出文件夹结构,无需手动创建“folder_1”文件夹。 - 如果后续需要查看该文件夹下的文件,GCS会自动过滤出前缀匹配的对象,展示为文件夹内的内容。
内容的提问来源于stack exchange,提问作者merkle
相关产品推荐
相关产品推荐

