【问题标题】:Copying contents from one folder to another in same GCS Bucket将内容从一个文件夹复制到同一个 GCS Bucket 中的另一个文件夹
【发布时间】:2021-12-27 11:53:12
【问题描述】:

我有一个 Python 脚本,它对我的​​ GCS 存储桶的输入文件夹执行一些处理文件。处理完成后,我想将这些文件移动到同一个 GCS Bucket 中的另一个文件夹中。知道如何实现它。

【问题讨论】:

    标签: python-3.x google-cloud-platform google-cloud-storage gsutil


    【解决方案1】:

    云存储桶中没有“文件夹”之类的东西。您只需要将blob文件复制到一个新的目标文件名,并删除前一个,如下:

    import logging
    from google.cloud import storage
    
    STORAGE_BUCKET=""
    
    def move_image_within_bucket(source_blob_name: str, origin_folder: str, destination_folder: str):
       """ Move image file from one folder to another folder within same Storage bucket """
       storage_client = storage.Client()
       bucket = storage_client.bucket(STORAGE_BUCKET)
       source_blob = bucket.get_blob(source_blob_name)
       destination_blob_name = source_blob_name.replace(origin_folder, destination_folder, 1)
       blob_copy = bucket.copy_blob(source_blob, bucket, new_name=destination_blob_name)
       logging.info(f"Image {source_blob} moved from folder {origin_folder} to {destination_folder} within bucket {STORAGE_BUCKET}")
       source_blob.delete()
    
       # example : move_image_within_bucket(source_blob_name="dev/image.jpg", origin_folder="dev", destination_folder="prod")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-14
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多