云服务器内容精选

  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。
  • 终端节点 终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询服务的终端节点。 对象存储迁移 服务的终端节点如下表所示,请您根据业务需要选择对应区域的终端节点。 表1 对象存储迁移服务的终端节点 区 域名 称 区域 终端节点 华北-北京一 cn-north-1 oms.cn-north-1.myhuaweicloud.com 华北-北京四 cn-north-4 oms.cn-north-4.myhuaweicloud.com 华东-上海二 cn-east-2 oms.cn-east-2.myhuaweicloud.com 华东-上海一 cn-east-3 oms.cn-east-3.myhuaweicloud.com 华南-广州 cn-south-1 oms.cn-south-1.myhuaweicloud.com 中国-香港 ap-southeast-1 oms.ap-southeast-1.myhuaweicloud.com 亚太-新加坡 ap-southeast-3 oms.ap-southeast-3.myhuaweicloud.com 华南-广州-友好用户环境 cn-south-4 oms.cn-south-4.myhuaweicloud.com 拉美-圣地亚哥 la-south-2 oms.la-south-2.myhuaweicloud.com 西南-贵阳一 cn-southwest-2 oms.cn-southwest-2.myhuaweicloud.com 华北-乌兰察布一 cn-north-9 oms.cn-north-9.myhuaweicloud.com 亚太-曼谷 ap-southeast-2 oms.ap-southeast-2.myhuaweicloud.com 拉美-墨西哥城二 la-north-2 oms.la-north-2.myhuaweicloud.com 土耳其-伊斯坦布尔 tr-west-1 oms.tr-west-1.myhuaweicloud.com 拉美-圣保罗一 sa-brazil-1 oms.sa-brazil-1.myhuaweicloud.com 亚太-雅加达 ap-southeast-4 oms.ap-southeast-4.myhuaweicloud.com
  • 迁移失败原因 失败原因编码 失败原因 处理措施 TRF.0001 系统内部异常。 请单击重启按钮尝试重启迁移任务。 TRF.0003 迁移任务等待超时。 请单击重启按钮尝试重启迁移任务。 TRF.0012 任务参数校验失败。 请确认在所选择的迁移方式下对象存在。 TRF.0013 任务参数校验失败。 请确保对象列表文件存在且可以正常获取(具有读写权限)。 TRF.0014 任务参数校验失败。 请确保对象列表文件为大小不超过100MB的“.txt”文件。 TRF.0015 源端账户不具有BLOB服务,无法实施迁移。 请重新输入可用的源端账户。 TRF.0016 URL列表文件格式错误。 请参照用户指南检查URL列表文件格式,或者联系技术支持。 TRF.0017 指定的列表文件为空。 请检查列表文件。 TRF.0018 任务参数校验失败。 请确保对象列表文件中每一行的长度都不超过65535。 TRF.0019 任务参数校验失败。 请确保对象列表文件的metaData中contentType为text/plain、且不能设置contentEncoding。 TRF.0051 您输入的AK/SK无足够权限访问目的端桶或者对象。 请确认AK/SK有足够权限后重试。 TRF.0052 您输入的AK/SK无足够权限访问目的端桶或者对象。 请确认AK/SK有足够权限后重试。 TRF.0053 由于您的账号状态异常(过期或已被冻结)导致迁移操作无法完成。 请联系客服确认账号状态。 TRF.0054 您输入的AK/SK无足够权限访问目的端桶或者对象。 请确认AK/SK有足够权限后重试。 TRF.0055 目的端桶的剩余空间不足。 请确认该桶具有充足空间后重试。 TRF.0056 您的迁移账户已被冻结。 请解冻后重试。 TRF.0057 您输入的AK/SK无效。 请输入正确AK/SK后重试。 TRF.0058 目的端桶不存在(迁移过程中请勿修改目的端桶或者对象的访问权限)。 请确认桶名正确后重试。 TRF.0059 目的端对象不存在(迁移过程中请勿修改目的端桶或者对象的访问权限)。 请确认桶名或对象名正确后重试。 TRF.0060 用于存储迁移对象的路径太长。 请更改要迁移的对象的名称或路径。 TRF.0061 目的端 对象存储服务 异常。 请稍后重试,或者联系技术支持。 TRF.0062 部分对象上传失败。 请确认没有其他迁移同名对象的任务后重试。 TRF.0063 由于账号余额不足,无法上传OBS导致迁移任务失败。 请检查账户余额或联系客服。 TRF.0151 源端AK/SK无效。 请输入有效的AK/SK后重试。 TRF.0152 您输入的AK/SK无足够权限访问源端桶或者对象。 请确认AK/SK有足够权限后重试。 TRF.0153 您输入的AK/SK无足够权限访问源端桶或者对象。 请确认AK/SK有足够权限后重试。 TRF.0154 您输入的AK/SK无足够权限访问源端桶或者对象。 请确认AK/SK有足够权限后重试。 TRF.0155 源端桶不存在(迁移过程中请勿修改源端桶或者对象的访问权限)。 请确认桶名正确后重试。 TRF.0156 源端对象不存在(迁移过程中请勿修改源端桶或者对象的访问权限)。 请确认桶名或对象名正确后重试。 TRF.0157 源端对象存储服务异常。 请稍后重试,或者联系技术支持。 TRF.0158 任务迁移完成,但目的端对象 数据加密 状态不正确。 请确认目的端区域是否支持KMS加密。 TRF.0159 由于源端对象存储访问频率过高,受源端限制导致任务失败。 请参考返回的error message,或者联系技术支持。 TRF.0160 无法读取归档类型数据。 请解冻数据后进行迁移。 TRF.0201 解冻归档数据失败。 请前往源端手动解冻归档数据后再迁移。 TRF.0202 存在未解冻的归档数据。 请先解冻后再进行迁移。 TRF.0301 选定的对象列表文件属于归档数据无法获取。 请手动解冻后再进行迁移。 父主题: 附录
  • 操作步骤 获取IAM用户Token。 接口相关信息 URI格式:POST /v3/auth/tokens 详情请参见获取IAM用户Token(使用密码)。 请求示例 POST: https://{iam_endpoint}/v3/auth/tokens {endpoint}信息请从地区和终端节点获取。 Body: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "testname", "domain": { "name": "testname" }, "password": "Password" } } }, "scope": { "project": { "id": "0215ef11e49d4743be23dd97a1561e91" } } } } 响应Header中“X-Subject-Token”的值即为Token: X-Subject-Token:MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX... 调用暂停任务接口暂停迁移任务。 接口相关信息 URI格式:POST /v2/{project_id}/tasks/{task_id}/stop 详情请参见暂停迁移任务。 请求示例 POST: https://{oms_endpoint}/v2/{project_id}/tasks/{task_id}/stop {endpoint}信息请从地区和终端节点获取。 Header: Content-Type: application/json X-Auth-Token: “Token” 响应200表示调用成功。 调用查看任务接口,查看任务状态。 接口相关信息 URI格式: 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" : 3, "successful_num" : 2, "task_type" : "object", "total_num" : 2, "total_size" : 2223728, "total_time" : 31111, "smn_info" : null, "source_cdn" : null } status表示任务执行状态,3代表暂停。 调用删除任务接口删除迁移任务。 接口相关信息 URI格式:DELETE /v2/{project_id}/tasks/{task_id} 详情请参见删除迁移任务。 请求示例 DELETE: https://{oms_endpoint}/v2/{project_id}/tasks/{task_id} {endpoint}信息请从地区和终端节点获取。 Header: Content-Type: application/json X-Auth-Token: “Token” 响应200表示删除成功。
  • 操作步骤 获取IAM用户Token。 接口相关信息 URI格式:POST /v3/auth/tokens 详情请参见获取IAM用户Token(使用密码)。 请求示例 POST: https://{iam_endpoint}/v3/auth/tokens {endpoint}信息请从地区和终端节点获取。 Body: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "testname", "domain": { "name": "testname" }, "password": "Password" } } }, "scope": { "project": { "id": "0215ef11e49d4743be23dd97a1561e91" } } } } 响应Header中“X-Subject-Token”的值即为Token: X-Subject-Token:MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX... 调用启动任务接口启动迁移任务。 接口相关信息 URI格式:POST /v2/{project_id}/tasks/{task_id}/start 详情请参见启动迁移任务。 请求示例 POST: https://{oms_endpoint}/v2/{project_id}/tasks/{task_id}/start {endpoint}信息请从地区和终端节点获取。 Header: Content-Type: application/json X-Auth-Token: “Token” Body: { "dst_ak" : "destination_ak", "dst_sk" : "destination_sk", "src_ak" : "source_ak", "src_sk" : "source_sk", "migrate_failed_object" : false } 响应200表示调用成功。 调用查看任务接口,查看任务状态。 接口相关信息 URI格式: 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表示任务执行状态,2代表正在执行,5表示执行成功。
  • 修订记录 发布时间 修订记录 2023-11-15 第二十三次正式发布。 API V2新增桶操作、云服务、区域 2023-09-20 第二十二次正式发布。 更新终端节点。 2023-04-14 第二十一次正式发布。 更新创建迁移任务组。 2022-09-16 第二十次正式发布。 新增迁移任务组管理。 2022-07-28 第十九次正式发布。 更新终端节点。 2022-06-23 第十八次正式发布。 更新创建同步事件。 2021-05-28 第十七次正式发布。 更新错误码。 2021-02-25 第十六次正式发布。 优化错误码内容。 优化API V2(推荐)内容。 2020-12-28 第十五次正式发布。 优化API V2(推荐)、错误码内容。 2020-09-15 第十四次正式发布。 新增API V2(推荐)内容。 2019-11-30 第十三次正式发布。 在创建任务中,优化object_key、list_file与task_type对应关系说明。 在历史错误码中,新增错误码:S3M.0088。 2019-10-30 第十二次正式发布。 在终端节点中,更新 OMS 的Endpoint。 2019-08-31 第十一次正式发布。 在创建任务的请求参数中,增加参数bandwidth_policy。 增加修改流量控制策略一节。 在查询某个租户的所有任务的响应参数中,增加参数bandwidth_policy。 在查询指定ID的任务的响应参数中,增加参数bandwidth_policy。 在历史错误码中,增加错误码TRF.0013、TRF.0014、TRF.0301、S3M.0083~S3M.0087。 2019-04-29 第十次正式发布。 在创建任务的请求参数中,增加参数auto_restore。 在查询某个租户的所有任务的响应参数中,增加参数auto_restore。 在查询指定ID的任务的响应参数中,增加参数auto_restore。 在历史错误码中,增加错误码S3M.0082、TRF.0063、TRF.0064。 2019-04-17 第九次正式发布。 在认证鉴权中,更新Token认证的内容。 在终端节点中,更新OMS的Endpoint。 在API示例中,参数thread_num更新取值。 在创建任务中,参数region、topicUrn增加说明。 在创建任务中,源端cloud_type参数增加取值“HuaweiCloud”。 在创建任务中,dst_node数据结构的参数object_key修正为必选。 在创建任务中,参数authentication_type、authentication_key更新描述。 在创建任务中,参数enable_failed_object_recording更新描述。 在查询某个租户的所有任务中,参数authentication_type更新描述。 在历史错误码中,增加错误码S3M.0168、S3M.0169、TRF.0160。 2019-01-22 第八次正式发布。 在创建任务中,参数path更新描述。 2018-12-21 第七次正式发布。 在创建任务中,参数obs_bucket增加说明。 在创建任务中,参数protocol增加http取值。 在创建任务中,参数migrate_since更新描述。 在历史错误码中,错误码S3M.0081更新错误信息。 2018-09-30 第六次正式发布。 优化文档整体架构。 新增查询API版本接口。 源端cloud_type参数增加取值KingsoftCloud。 task_type参数增加取值prefix。 object_key参数增加废弃说明。 在API说明章节增加失败对象重传参数。 增加错误码:S3M.0079、S3M.0080、S3M.0081、S3M.0162、S3M.0163、S3M.0167、S3M.0256、TRF.0012、TRF.0159。 2018-08-09 第五次正式发布。 新增任务创建接口传入参数migrate_since, source_cdn, task_type。 新增任务查询接口响应参数source_cdn, task_type。 2018-06-06 第四次正式发布。 增加错误状态码406。 将object_key数据结构的参数名称“Keys”修改为“keys”。 2018-03-02 第三次正式发布。 增加错误码TRF.0158。 增加查询配额的接口。 2018-01-15 第二次正式发布。 修改源端cloud_type参数说明。 2017-09-15 第一次正式发布。
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 状态码 状态码如表1所示。 表1 状态码 状态码 描述 说明 200 OK 请求被成功处理。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 204 No Content 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 400 Bad Request 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 Not Found 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 Method Not Allowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 429 Too Many Requests 请求频繁异常 请稍后重试。 500 Internal Server Error 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 503 Service Unavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 父主题: 附录
  • 示例 请求示例 GET /v1/{project_id}/objectstorage/task/{task_id} 响应示例 { "id": 1, "name": "bucket3-bucket3-20161027211637786_544", "src_node": { "region": "us-east-1", "bucket": "bucket3", "object_key": "/", "cloud_type": "xxx" }, "dst_node": { "region": "xxx", "bucket": "bucket3", "object_key": ["log/object1", "log/object2"], "cloud_type": "HEC" }, "thread_num": 50, "status": 5, "progress": 1, "total_num": 2000, "success_num": 200, "fail_num": 0, "migrate_speed": 7213154, "enableKMS": true, "description": "ZXCZCZXCDVXVC", "error_reason": "", "total_size": 2000000000, "complete_size": 2000000000, "start_time": 1477574224062, "left_time": 0, "total_time": 88124, "smnInfo": { "notifyResult": false, "notifyErrorMessage": "S3M.0156", "topicName": "Test" }, "migrate_since": 123456789, "source_cdn": { "protocol": "https", "domain": "xxx.xxx.xxx", "authentication_type": "NONE" }, "bandwidth_policy": [ { "start": "00:00", "end": "23:59", "max_bandwidth": 50000000 } ] }
  • 响应消息 响应参数 响应参数如表2所示。 表2 响应参数 参数 类型 描述 id long 任务ID。 name String 任务名称。 src_node JSONObject 源端节点信息,参见表3。 dst_node JSONObject 目的端节点信息,参见表5。 thread_num int 迁移线程数。 status int 任务状态。 0:初始化 1:等待调度 2:正在执行 3:停止 4:失败 5:成功 progress double 任务进度,例如:0.522代表任务进度为52.2%,1代表任务进度为100%。 migrate_speed long 任务迁移速度(Byte/s)。 enableKMS boolean 是否使用KMS加密。 description String 任务描述,没有设置时为空字符串。 error_reason JSONObject 任务失败原因,参见表8。 total_size long 任务迁移总大小。 complete_size long 任务迁移完成大小。 start_time long 任务启动时间。 left_time long 任务剩余时间。 total_time long 任务总时间。 success_num long 迁移成功对象数量。 fail_num long 迁移失败对象数量。 total_num long 迁移对象总数量。 smnInfo JSONObject SMN 消息,参见表6。 说明: 用户可以选择是否发送SMN信息,在迁移任务已经结束的情况下才会有该字段。 migrate_since long 迁移指定时间,表示仅迁移在指定时间之后修改的源端待迁移对象。默认为0,表示不设置迁移指定时间。 task_type String 任务类型,为空则默认设置为object。 list:对象列表迁移 object:文件/文件夹迁移 prefix:对象前缀迁移 source_cdn JSONObject 指定是否启用CDN迁移支持,参见表7。若包含此字段则为支持,否则为不支持。启用CDN迁移支持后,迁移时将从CDN域名获取源端对象。 auto_restore Boolean 是否自动解冻归档数据。开启后,如果遇到归档类型数据,会自动解冻再进行迁移。 enable_failed_object_recording Boolean 是否记录失败对象。开启后,如果有迁移失败对象,会在目的端存储失败对象信息。 failed_object_record String 数据格式为JSON格式,参见表9。 bandwidth_policy JSONArray 流量控制策略,参见表10。 表3 src_node数据结构说明 参数 类型 描述 region String 源端桶所处的区域。 list_file JSONObject 数据格式为JSON格式,参见表4。 object_key JSONArray 源端桶选择的对象名称。每个元素均为对象的绝对路径。 bucket String 源端桶的名称。 cloud_type String 源端云服务商。 表4 list_file数据结构 参数 参数类型 描述 obs_bucket String 存放对象列表文件的OBS桶名。 list_file_key String 对象列表文件对象名。 表5 dst_node数据结构说明 参数 类型 描述 region String 目的端桶所处的区域。 object_key String 目的端桶选择的对象名称。 bucket String 目的端桶的名称。 cloud_type String 目的端云服务商。 表6 smnInfo数据结构说明 参数 类型 描述 notifyResult Boolean 记录迁移任务执行完毕后SMN消息是否发送成功。 notifyErrorMessage String 记录SMN消息发送失败原因的错误码(迁移任务成功时为空)。 topicName String SMN Topic的名称(SMN消息发送成功时为空)。 表7 source_cdn数据结构 参数 类型 描述 protocol String 协议类型:https或http。 domain String 从指定域名获取对象。 authentication_type String 鉴权方式。 无需鉴权:NONE Qiniu:QINIU_PRIVATE_AUTHENTICATION 表8 error_reason数据结构说明 参数 类型 描述 error_code String 迁移失败的错误码。 error_msg String 迁移失败的原因。 表9 failed_object_record结构说明 参数 参数类型 描述 result Boolean 是否支持失败对象重传。 list_file_key String 失败对象列表文件路径。 errorCode String 不支持失败重传的错误码。 表10 bandwidth_policy数据结构 参数 参数类型 描述 start String 流量控制开始时间(包含),格式为“hh:mm”。例如“10:03”表示10时03分。 end String 流量控制结束时间(包含),格式和start参数相同。 max_bandwidth int 时段内允许的最大流量带宽,单位Byte/s。
  • URI GET /v1/{project_id}/objectstorage/task?totalcount={true}&state={state} 参数说明请参见表1。 表1 参数说明 参数 是否必选 描述 project_id 是 项目ID。 totalcount 是 返回任务数标志,true表示将返回满足条件的任务数量。 state 否 任务状态。 0:初始化 1:等待调度 2:正在执行 3:停止 4:失败 5:成功
  • 示例 请求示例 GET /v1/{project_id}/objectstorage/task?start=0&limit=10&state=0 响应示例 { "id": 1, "name": "bucket3-bucket3-20161027211637786_544", "src_node": { "region": "us-east-1", "bucket": "bucket3", "object_key": ["log/object1", "log/object2"] }, "dst_node": { "region": "xxx", "bucket": "bucket3", "object_key": "/" }, "thread_num": 50, "status": 5, "progress": 1, "total_num": 2000, "success_num": 200, "fail_num": 0, "migrate_speed": 7213154, "enableKMS": true, "description": "ZXCZCZXCDVXVC", "error_reason": "", "total_size": 2000000000, "complete_size": 2000000000, "start_time": 1477574224062, "left_time": 0, "total_time": 88124, "smnInfo": { "notifyResult": false, "notifyErrorMessage": "S3M.0156", "topicName": "Test" }, "enable_failed_object_recording": true, "failed_object_record": "{" result ": true, " list_file_key ": " oms / failed_object_lists / 180840792025063 / failed - objects - list.txt "}" }, { "id": 2, "name": "bucket3-bucket3-20161027211637786_545", "src_node": { "region": "us-east-1", "bucket": "bucket3", "object_key": ["log/object1", "log/object2"], "cloud_type": "xxx" }, "dst_node": { "region": "xxx", "bucket": "bucket3", "object_key": "/", "cloud_type": "HEC" }, "thread_num": 50, "status": 5, "progress": 1, "total_num": 2000, "success_num": 200, "fail_num": 0, "migrate_speed": 7213154, "enableKMS": true, "description": "ZXCZCZXCDVXVC", "error_reason": "", "total_size": 2000000000, "complete_size": 2000000000, "start_time": 1477574224062, "left_time": 0, "total_time": 88124, "smnInfo": { "notifyResult": false, "notifyErrorMessage": "S3M.0156", "topicName": "Test" }, "migrate_since": 123456789, "source_cdn": { "protocol": "https", "domain": "xxx.xxx.xxx", "authentication_type": "NONE" }, "bandwidth_policy": [ { "start": "00:00", "end": "23:59", "max_bandwidth": 50000000 } ] }
  • 响应消息 响应参数 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 id long 任务ID。 name String 任务名称。 src_node JSONObject 源端节点信息,参见表3。 dst_node JSONObject 目的端节点信息,参见表5。 thread_num int 迁移线程数。 status int 任务状态。 0:初始化 1:等待调度 2:正在执行 3:停止 4:失败 5:成功 progress double 任务进度,例如:0.522代表任务进度为52.2%,1代表任务进度为100%。 migrate_speed long 任务迁移速度(Byte/s)。 enableKMS boolean 是否使用KMS加密。 description String 任务描述,没有设置时为空字符串。 error_reason JSONObject 任务失败原因,参见表8。非失败状态时该字段为空字符串。 total_size long 任务迁移总大小。 complete_size long 任务迁移完成大小。 start_time long 任务启动时间。 left_time long 任务剩余时间。 total_time long 任务总时间。 success_num long 迁移成功对象数量。 fail_num long 迁移失败对象数量。 total_num long 迁移对象总数量。 smnInfo JSONObject SMN消息,参见表6。 说明: 用户可以选择是否发送SMN信息,在迁移任务已经结束的情况下才会有该字段。 migrate_since long 迁移指定时间,表示仅迁移在指定时间之后修改的源端待迁移对象。默认为0,表示不设置迁移指定时间。 task_type String 任务类型,为空默认设置为object。 list:对象列表迁移 object:文件/文件夹迁移 prefix:对象前缀迁移 source_cdn JSONObject 指定是否启用CDN迁移支持,参见表7。启用CDN迁移支持后,迁移时将从CDN域名获取源端对象。若包含此字段则为支持,否则为不支持。 auto_restore Boolean 是否自动解冻归档数据。开启后,如果遇到归档类型数据,会自动解冻再进行迁移。 enable_failed_object_recording Boolean 是否记录失败对象。开启后,如果有迁移失败对象,会在目的端存储失败对象信息。 failed_object_record String 数据格式为JSON格式,参见表9。 bandwidth_policy JSONArray 流量控制策略,参见表10。 表3 src_node数据结构说明 参数 参数类型 描述 region String 源端桶所处的区域。 list_file JSONObject 数据格式为JSON格式,参见表4。 object_key JSONArray 源桶选择的对象名称,JSONArray格式。每个元素均为对象的绝对路径。 bucket String 源端桶的名称。 cloud_type String 源端云服务商。 表4 list_file数据结构 参数 参数类型 描述 obs_bucket String 存放对象列表文件的OBS桶名。 list_file_key String 对象列表文件对象名。 表5 dst_node数据结构说明 参数 参数类型 描述 region String 目的端桶所处的区域。 object_key String 目的端桶选择的对象名称。 bucket String 目的端桶的名称。 cloud_type String 目的端云服务商。 表6 smnInfo数据结构说明 参数 参数类型 描述 notifyResult Boolean 记录迁移任务执行完毕后SMN消息是否发送成功。 notifyErrorMessage String 记录SMN消息发送失败原因的错误码(迁移任务成功时为空)。 topicName String SMN Topic的名称(SMN消息发送成功时为空)。 表7 source_cdn数据结构 参数 参数类型 描述 protocol String 协议类型:https或http。 domain String 从指定域名获取对象。 authentication_type String 鉴权方式。 无需鉴权:NONE Qiniu: QINIU_PRIVATE_AUTHENTICATION Aliyun: ALIYUN_OSS_A、ALIYUN_OSS_B、ALIYUN_OSS_C KingsoftCloud:KSYUN_PRIVATE_AUTHENTICATION 表8 error_reason数据结构说明 参数 参数类型 描述 error_code String 迁移失败的错误码。 error_msg String 迁移失败的原因。 表9 failed_object_record结构说明 参数 参数类型 描述 result Boolean 是否支持失败对象重传。 list_file_key String 失败对象列表文件路径。 errorCode String 不支持失败重传的错误码。 表10 bandwidth_policy数据结构 参数 参数类型 描述 start String 流量控制开始时间(包含),格式为“hh:mm”。例如“10:03”表示10时03分。 end String 流量控制结束时间(包含),格式和start参数相同。 max_bandwidth int 时段内允许的最大流量带宽,单位Byte/s。
  • URI GET /v1/{project_id}/objectstorage/task?start={start}&limit={limit}&state={state} 参数说明请参见表1。 表1 参数说明 参数 是否必选 描述 project_id 是 项目ID。 start 是 起始的任务序号。 limit 是 返回任务个数的最大值,最大不超过100,否则查询失败。 state 否 任务状态。 0:初始化 1:等待调度 2:正在执行 3:停止 4:失败 5:成功
  • 示例 请求示例 PUT /v1/{project_id}/objectstorage/task/{task_id} { "operation": "change_bandwidthpolicy", "bandwidth_policy": [ { "start": "00:00", "end": "23:59", "max_bandwidth": 50000000 } ] } 响应示例 无。