用途:当用户要求把对象从其他对象存储、文件系统、桶、前缀或账户迁移到 B2,或需要 B2 到 B2 复制、改键、存储布局变更、切换清单,以及在切换应用前需要校验证据时使用。
字节路径:对象数据必须通过预签名 URL、分片上传 URL 或外部 B2/S3 客户端在客户端或工作负载运行器与 B2 之间直接传输,不得经由模型或 MCP 服务器。MCP 只负责协调清单、目标检查、预签名写入 URL、复制元数据和校验。源凭据与对象负载应留在聊天之外。
安全门:使用 s3_get_presigned_url 且 operation 为 "PutObject" 生成可写 bearer URL 前,必须暂停并请求明确确认;s3_copy_object 覆盖碰撞发现中已存在的目标键前,必须暂停并请求明确确认;s3_complete_multipart_upload 在复用前缀中完成到已存在目标键前,必须暂停并请求明确确认。覆盖、删除、生命周期、公开访问或削弱保留策略的操作前也需确认,且不得把迁移与清理合并为一次批准。切换视为生产变更,需先确认负责人、回滚、冻结窗口、校验阈值及 DNS 或应用配置变更。
使用工具:b2_list_buckets、s3_head_bucket、s3_list_objects_v2、s3_head_object、s3_copy_object、s3_get_presigned_url、s3_create_multipart_upload、s3_get_presigned_upload_part_url、s3_complete_multipart_upload、s3_list_parts。
流程要点:捕获范围(源、目标桶与前缀、对象数、估算字节、元数据保留、Object Lock、加密、切换期限、目标所有权模型),默认要求唯一暂存前缀;在聊天外建立持久迁移清单;用 b2_list_buckets 和 s3_head_bucket 验证目标可达,用 s3_list_objects_v2 做规划与碰撞发现(每页最多 1000 键,持久化 continuation token,聊天中最多展示 50 行样本);选择传输模式,B2/S3 兼容服务端复制用 s3_copy_object,简单直传用 s3_get_presigned_url,大对象用分片工具并持久化 upload ID、分片号、ETag 与完成检查点;重试采用带抖动的指数退避、每对象重试上限,失败键写入清单而非无限循环;重启后从清单恢复,跳过已校验对象、继续未完成分片、在批准范围内重试失败对象;通过采样汇总 s3_head_object 元数据、对象数、大小、校验和及应用级探测进行校验,不把对象正文读入模型;切换分阶段进行:初始同步、增量同步、冻结、最终校验、完成清单检查点、应用切换、只读观察、回滚窗口、延迟清理,仅从完成的校验检查点继续;最后输出迁移报告,含传输数、跳过数、失败键、校验方法、清单位置、切换状态及仍需单独批准的清理任务。
限制:资料未提供具体收费、价格、平台支持范围或性能数据;预列表无法原子保证 fail-on-collision,复用目标前缀需用户确认独占写所有权。