我们有很多视频上传到GCP云存储。我们需要更改文件名并删除[]。
问是否有一个好的解决方案。
文件示例: gs://xxxxxx/xxxxxx/BlueLobster Saint丢失的画布- 06 1080p.mkv
发布于 2021-09-24 09:42:58
根据给定的场景,您希望大容量地重命名所有文件名,并将所有文件名重新命名。基于这个文档,gsutil将这些字符解释为通配符。古提尔目前不支持这一点。
有一种方法可以通过使用自定义脚本将所有文件重命名为“[”来处理此类请求。
您可以使用任何具有云存储客户端库的编程语言。对于本说明,我们将使用Python作为自定义脚本。
pip install --upgrade google-cloud-storage有关更多信息,请参阅此文档。
import re
from google.cloud import storage
storage_client = storage.Client()
bucket_name = "my_bucket"
bucket = storage_client.bucket(bucket_name)
storage_client = storage.Client()
blobs = storage_client.list_blobs(bucket_name)
pattern = r"[\([{})\]]"
for blob in blobs:
out_var = blob.name
fixed_var = re.sub(pattern, '', blob.name)
print(out_var + " " + fixed_var)
new_blob = bucket.rename_blob(blob, fixed_var)python script.py这些文件不会在后端重命名。在引擎盖下,更多的是用一个新的名称重写它,这是由于对象不变性。这将只复制具有新名称的旧文件,然后删除旧文件。
发布于 2021-09-24 08:00:36
不能在云存储中重命名文件。重命名文件等于用新名称复制文件并删除旧名。
如果您有大量(大型)文件,这将需要时间,但这不是不可能的。
https://stackoverflow.com/questions/69310509
复制相似问题