本文将为您介绍如何使用桶清单将腾讯云对象存储的数据迁移至 veImageX 的存储。该方式借助清单列表对迁移文件进行筛选,从而实现精准迁移,并确保数据的完整性和一致性。适用于大规模数据迁移以及跨地域数据迁移等场景。
当前仅支持腾讯云对象存储。
单个待迁移文件大小不得超过 10GB。
桶清单方式数据迁移相较于桶遍历方式数据迁移,您需要额外配置桶清单,可参考迁移准备获取迁移配置信息。
若您需要对迁移后的图片资源进行实时处理,请新建图像处理服务。
已在腾讯云对象存储产品存储了资源。
已新建 veImageX 服务,且服务状态正常。
登录腾讯云对象存储,单击并进入存储桶列表。
在基本信息页签,选择需要迁移的存储桶。单击操作列配置管理按钮,进入配置页。
在左侧基础配置列,选择清单设置。
在清单设置页,若是首次设置,您需要开通服务授权。开通授权后,单击添加清单按钮,详见设置清单完成配置。
注意
建议您在清单信息中将大小和 Etag 设置为必选项,以便后期的迁移配置。
设置完成后,单击更多的立即执行按钮,生成一份 csv 桶清单文件并存储至该存储桶中。
进入腾讯云对象存储的存储桶列表。
选择已配置了桶清单的存储桶。
点击存储桶名称,在文件列表内查找到 csv 桶清单文件,记录该文件在存储桶中的目录路径。
注意
最终所需的路径需以/
结尾,且不包含存储桶信息。例如cos_bucket_inventory/1311434967/test/buctet1/20240924_145226/1311434967/test/buctet1_instant_20240924_145226/data/
。
在已生成桶清单 csv 文件的存储桶内,查找 fileSchema.json 文件,单击操作列预览按钮。
在 manifest.json 文件的 “fileSchema” 中查看 CSV 文件中 Key(必填,表示文件存储 Key)、Size(推荐,表示文件大小) 和 ETag(可选,表示文件 Etag 值) 这 3 个字段所在的位置。更多字段说明,详见腾讯云官方文档。
注意
fileSchema 内字段的位置可能会因为您配置桶清单时选择的清单内容而产生差异,具体请以实际为准。
根据上图可知, Key 在第 3 位,Size 为第 4 位,ETag 为第 6 位。那么实际创建迁移任务时,您需要按照顺序传入,如["", "", "Key", "Size", "", "ETag"]
。veImageX 将根据传入的位置,解析 csv 文件并同步将清单内数据迁移至 veImageX。若位置填写错误,可能导致迁移失败。
获取腾讯云子账号的访问秘钥 AKSK,以便 veImageX 可以访问存储桶进行数据迁移。
登录腾讯云,选择图像下方菜单栏中的访问管理。
在访问管理页面,选择用户 > 用户列表,单击新建用户。
在新建用户页面单击自定义创建。
并参考以下指引完成用户创建。
选择类型:可访问资源并接收信息
设置用户信息:填写用户名
访问方式:勾选编程访问及腾讯云控制台访问
控制台密码:填写并记录自定义密码
需要重置密码:否
登录保护:不开启
操作保护:不开启
在设置用户权限页面,配置 QcloudCOSFullAccess 权限,以及勾选自主管理 API 密钥后,完成新建用户。
复制并记录生成的子账号 AK 和 SK 等信息。
在腾讯云对象存储控制台,单击存储桶列表。
在基本信息页签下,选择待迁移并配置桶清单的存储桶,复制并记录该存储桶名称和所属地域。
登录 veImageX 控制台,单击并进入服务管理。
选择一个正常可用的服务作为迁移目标存储,复制并记录该服务的服务 ID。
调用 CreateImageMigrateTask 接口创建迁移任务。以下为最简请求示例,您可根据实际业务需求在创建迁移任务时增加必要配置,各配置相关信息详见接口文档。
请求示例
POST https://imagex.volcengineapi.com/?Action=CreateImageMigrateTask&Version=2023-05-01 { "Task": { "Name": "migrate-test", //指定迁移任务名称 "Source": { "Vendor": "COS", //指定云服务商为腾讯云 "AK": "AKTP8shJDSYGbi8*****", //指定访问秘钥 AK,如何获取参考迁移准备 "SK": "PJDJSAJNNNCbE1E****", //指定访问秘钥 SK,如何获取参考迁移准备 "Region": "cn-nanjing", //指定存储桶所属地域,如何获取参考迁移准备 "Bucket": "storage-test", //指定存储桶名称,如何获取参考迁移准备 "BucketInventoryDir": "cos_bucket_inventory/1311434967/test/buctet1/20240924_145226/1311434967/test/buctet1_instant_20240924_145226/data/", //指定桶清单文件的目录路径,如何获取参考迁移准备 "BucketInventorySchema": ["", "", "Key", "Size", "", "ETag"] //指定需要解析的桶清单数据所在位置,如何获取参考迁移准备。 "Dst": { "ServiceId": "uh**7j" //指定迁移目标服务的服务 ID } } }
返回示例
{ "ResponseMetadata": { "RequestId": "2023061615574388A72E74B3D53A0B790E", "Action": "CreateImageMigrateTask", "Version": "2023-05-01", "Service": "imagex", "Region": "cn-north-1" }, "Result": { "TaskId": "648c15f76***bd95ad044" } }
迁移过程中,您可通过调用 GetImageMigrateTasks 接口获取指定迁移任务的迁移状态,查看迁移成功文件数量等信息。
迁移完成后,您可在 veImageX 控制台的资源管理页面,将服务切换为迁移目标服务后,查看迁移后的文件列表。