GCP中Python调用move_blob移动Blob报404:正确参数咨询
问题原因与解决方法
你遇到404错误的核心原因是:函数的bucket_name和destination_bucket_name参数只需要传入纯存储桶名称,不能带gs://前缀。你当前传入的'gs://bucket_name_1'和'gs://bucket_name_2'会被当作完整桶名去查找,而GCS中不存在这样的桶,因此触发404。
正确的函数调用方式
将参数中的gs://前缀去掉,只保留桶名部分:
move_blob('bucket_name_1', 'subfolder1/session1', 'bucket_name_2', 'subfolder1/session1')
补充说明
这个调用和你执行的gsutil mv gs://bucket_name_1/subfolder1/session1 gs://bucket_name_2/subfolder1/session1命令功能完全匹配:
bucket_name_1对应命令中的bucket_name_1(去掉gs://后的桶名)subfolder1/session1对应源对象路径,同时也是目标对象路径- 函数内部通过
copy_blob+delete_blob的方式实现移动,和gsutil mv的逻辑一致(底层都是先复制再删除源对象)
内容的提问来源于stack exchange,提问作者YihanBao
相关产品推荐
相关产品推荐

