Google cloud storage 如何在Python中从Google云存储URL创建Blob

Google cloud storage 如何在Python中从Google云存储URL创建Blob,google-cloud-storage,Google Cloud Storage,我使用google云存储API创建了一个blob,并使用blob.path保存了它的路径。路径的形式是 /b/bucketname/o/某些%2Fid对象%2Fid 如何从此URL重新创建blob?不幸的是,GCS API没有提供从路径URL返回blob的工厂方法,因为在数据库等中保存blob路径非常常见 下面是一个工厂方法,允许您从blob.path返回blob: def blob_from_blobpath(blob_path): import google.cloud.storage

我使用google云存储API创建了一个blob,并使用blob.path保存了它的路径。路径的形式是

/b/bucketname/o/某些%2Fid对象%2Fid


如何从此URL重新创建blob?

不幸的是,GCS API没有提供从路径URL返回blob的工厂方法,因为在数据库等中保存blob路径非常常见

下面是一个工厂方法,允许您从blob.path返回blob:

def blob_from_blobpath(blob_path):
  import google.cloud.storage as gcs
  blob_path = blob_path[3:] # /b/
  slash_loc = blob_path.index('/')
  bucket_name = blob_path[:slash_loc]
  blob_name = blob_path[(slash_loc+3):] # /o/
  bucket = gcs.Client().get_bucket(bucket_name)
  return bucket.blob(blob_name)