示例1:创建迁移任务
场景描述
本章节指导用户通过API创建迁移任务。API的调用方法请参见如何调用API。
创建迁移任务时,支持的任务类型有:URL列表迁移、对象前缀迁移、对象列表迁移、文件/文件夹迁移。本节我们以创建文件/文件夹迁移任务为例,介绍如何创建迁移任务。
涉及接口
- 获取IAM用户Token(使用密码):用于鉴权认证。
- 创建迁移任务:通过源端和目的端的AK和SK创建迁移任务。
- 查询指定ID的任务详情:根据迁移任务ID查询任务详情,确定迁移任务是否创建成功。
前提条件
- 已获取源端云服务平台的AK/SK。
- 已获取目的端AK/SK,参见创建访问秘钥(AK/SK)。
- 已获取IAM和OMS的Endpoint,参见地区和终端节点。
- 已获取源端桶的区域。
- 已创建目的端桶,参见创建桶。
- 已获取目的端桶的区域,参见查看桶的信息。
- 已获取项目ID,参见获取项目ID。
操作步骤
- 获取IAM用户Token。
- 接口相关信息
详情请参见获取IAM用户Token(使用密码)。
- 请求示例
POST: https://{iam_endpoint}/v3/auth/tokens
{endpoint}信息请从地区和终端节点获取。
Body:{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "domain": { "name": "domainname" }, "password": "******" } } }, "scope": { "project": { "id": "0215ef11e49d4743be23dd97a1561e91" } } } }
响应Header中“X-Subject-Token”的值即为Token:
X-Subject-Token:MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
- 接口相关信息
- 调用创建任务接口创建迁移任务。
- 接口相关信息
URI格式:POST /v2/{project_id}/tasks
详情请参见创建迁移任务。
- 请求示例
POST: https://{oms_endpoint}/v2/{project_id}/tasks
{endpoint}信息请从地区和终端节点获取。
Header:
Content-Type: application/json X-Auth-Token: "Token"
Body:
{ "src_node" : { "region" : "source_bucket_region", "ak" : "sorce_ak", "sk" : "sorce_sk", "bucket" : "source_bucket", "cloud_type" : "cloud_type", "object_key" : ["01.png", "list.txt"] }, "enable_kms" : false, "description" : "", "dst_node" : { "region" : "destination_bucket_region", "ak" : "destination_ak", "sk" : "destination_sk", "bucket" : "destination_bucket" }, "enable_failed_object_recording" : true, "enable_restore" : false, "task_type" : "object" }
- 响应示例
{ "id" : 200477729979132, "task_name" : "task_name" }
- 接口相关信息
- 调用查看任务接口,查看任务状态。
- 接口相关信息
GET /v2/{project_id}/tasks/{task_id}
详情请参见查询指定ID的任务详情。
- 请求示例
GET: https://{oms_endpoint}/v2/{project_id}/tasks/{task_id}
{endpoint}信息请从地区和终端节点获取。
Header:
Content-Type: application/json X-Auth-Token: “Token”
- 响应示例
{ "bandwidth_policy" : [], "complete_size" : 2223728, "description" : "", "dst_node" : { "bucket" : "api-test-outline", "region" : "cn-north-7" }, "enable_failed_object_recording" : true, "enable_kms" : false, "enable_restore" : false, "error_reason" : null, "failed_num" : 0, "failed_object_record" : { "result" : null, "list_file_key" : null, "error_code" : null }, "group_id" : "", "id" : 200477729979132, "is_query_over" : true, "left_time" : 0, "migrate_since" : 0, "migrate_speed" : 71477, "name" : "task_name", "progress" : 1.0, "real_size" : 2223728, "skipped_num" : 0, "src_node" : { "bucket" : "a-test-1", "cloud_type" : "HuaweiCloud", "region" : "cn-north-7", "app_id" : "", "object_key" : ["01.png", "list.txt"], "list_file" : null }, "start_time" : 1589267678170, "status" : 5, "successful_num" : 2, "task_type" : "object", "total_num" : 2, "total_size" : 2223728, "total_time" : 31111, "smn_info" : null, "source_cdn" : null }
status表示任务执行状态,5代表成功。
- 接口相关信息