使用 Python 将文件上传到 Google Cloud Storage Bucket 子目录



我已经成功实现了python函数将文件上传到Google Cloud Storage bucket,但我想将其添加到存储桶中的子目录(文件夹)中,当我尝试将其添加到存储桶名称时,代码找不到该文件夹。

谢谢!

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 Cloud Storage 没有实际的文件夹或目录(请参阅对象名称注意事项)。

模拟目录实际上只是一个名称中带有前缀的对象。例如,而不是您现在拥有的:

  • 存储桶 = 存储桶/文件夹名称
  • 对象 = 对象名称

相反,您需要:

  • 存储桶 = 存储桶
  • 对象 = 文件夹名称/对象名称

就您的代码而言,我认为这应该有效:

bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob("folderName/" + destination_blob_name)
blob.upload_from_filename(source_file_name)

相关内容

  • 没有找到相关文章

最新更新