使用 Python 将文件上传到 Google 云存储桶子目录
Upload File to Google Cloud Storage Bucket Sub Directory using Python
我已成功实现 python 功能以将文件上传到 Google Cloud Storage 存储桶,但我想将它添加到存储桶中的子目录(文件夹),当我尝试要将其添加到存储桶名称,代码无法找到该文件夹。
谢谢!
def upload_blob(bucket_name, source_file_name, destination_blob_name):
"""Uploads a file to the bucket."""
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name +"/folderName") #I tried to add my folder here
blob = bucket.blob(destination_blob_name)
blob.upload_from_filename(source_file_name)
print('File {} uploaded to {}.'.format(
source_file_name,
destination_blob_name))
您在错误的位置添加了“文件夹”。请注意,Google 云存储没有真正的文件夹或目录(请参阅 Object name considerations)。
模拟目录实际上只是一个名称中带有前缀的对象。例如,而不是你现在拥有的:
- 桶 = bucket/folderName
- object = objectname
你会想要:
- 桶 = 桶
- 对象=folderName/objectname
对于您的代码,我认为这应该有效:
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob("folderName/" + destination_blob_name)
blob.upload_from_filename(source_file_name)
我已成功实现 python 功能以将文件上传到 Google Cloud Storage 存储桶,但我想将它添加到存储桶中的子目录(文件夹),当我尝试要将其添加到存储桶名称,代码无法找到该文件夹。
谢谢!
def upload_blob(bucket_name, source_file_name, destination_blob_name):
"""Uploads a file to the bucket."""
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name +"/folderName") #I tried to add my folder here
blob = bucket.blob(destination_blob_name)
blob.upload_from_filename(source_file_name)
print('File {} uploaded to {}.'.format(
source_file_name,
destination_blob_name))
您在错误的位置添加了“文件夹”。请注意,Google 云存储没有真正的文件夹或目录(请参阅 Object name considerations)。
模拟目录实际上只是一个名称中带有前缀的对象。例如,而不是你现在拥有的:
- 桶 = bucket/folderName
- object = objectname
你会想要:
- 桶 = 桶
- 对象=folderName/objectname
对于您的代码,我认为这应该有效:
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob("folderName/" + destination_blob_name)
blob.upload_from_filename(source_file_name)