gpt4 book ai didi

python - 如何通过 Python 将 Google Cloud Storage 中的文件从一个存储桶移动到另一个存储桶

转载 作者:太空狗 更新时间:2023-10-30 00:02:48 30 4
gpt4 key购买 nike

是否有任何 API 函数允许我们将 Google Cloud Storage 中的文件从一个存储桶移动到另一个存储桶?

场景是我们想让Python将A桶中读取的文件移动到B桶中。我知道 gsutil 可以做到这一点,但不确定 Python 是否支持。

谢谢。

最佳答案

这是我在同一存储桶内的目录之间移动 blob 或移动到不同存储桶时使用的函数。

from google.cloud import storage
import os

os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="path_to_your_creds.json"

def mv_blob(bucket_name, blob_name, new_bucket_name, new_blob_name):
"""
Function for moving files between directories or buckets. it will use GCP's copy
function then delete the blob from the old location.

inputs
-----
bucket_name: name of bucket
blob_name: str, name of file
ex. 'data/some_location/file_name'
new_bucket_name: name of bucket (can be same as original if we're just moving around directories)
new_blob_name: str, name of file in new directory in target bucket
ex. 'data/destination/file_name'
"""
storage_client = storage.Client()
source_bucket = storage_client.get_bucket(bucket_name)
source_blob = source_bucket.blob(blob_name)
destination_bucket = storage_client.get_bucket(new_bucket_name)

# copy to new destination
new_blob = source_bucket.copy_blob(
source_blob, destination_bucket, new_blob_name)
# delete in old destination
source_blob.delete()

print(f'File moved from {source_blob} to {new_blob_name}')

关于python - 如何通过 Python 将 Google Cloud Storage 中的文件从一个存储桶移动到另一个存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972482/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com