创建任务
功能介绍
调用该接口添加迁移任务。创建任务成功后,任务会被自动启动,不需要额外调用启动任务命令。
注意事项:
- 单个租户在过去24小时内最多可创建200个迁移任务。
- 单个租户名下处于“等待中”状态的迁移任务达到50个时不可再创建任务。
URI
POST /v1/{project_id}/objectstorage/task
参数 |
是否必选 |
描述 |
---|---|---|
project_id |
是 |
项目ID。 |
请求消息
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
src_node |
是 |
JSONObject |
源端节点信息,参见表3。 |
dst_node |
是 |
JSONObject |
目的端节点信息,参见表6。 |
enableKMS |
是 |
boolean |
是否使用KMS加密。 |
thread_num |
是 |
int |
该迁移任务使用的线程数,不能超过50个。 |
description |
否 |
String |
任务描述,不能超过255个字符,且不能包含<>()"'&等特殊字符。 |
smnInfo |
否 |
JSONObject |
当需要发送SMN消息时使用该字段,参见表7。 |
migrate_since |
否 |
long |
以时间戳方式表示的迁移指定时间(单位:s),表示仅迁移在指定时间之后修改的源端待迁移对象。默认不设置迁移指定时间。 |
source_cdn |
否 |
JSONObject |
指定是否启用CDN迁移支持,若包含此字段则为支持,否则为不支持,启用CDN迁移支持后,迁移时将从CDN域名获取源端对象,参见表8。 |
auto_restore |
否 |
boolean |
是否自动解冻归档数据,默认否。 开启后,如果遇到归档类型数据,会自动解冻再进行迁移。 |
bandwidth_policy |
否 |
JSONArray |
配置流量控制策略。数组中一个元素对应一个时段的最大带宽,最多允许5个时段,且时段不能重叠。具体参见表9。 |
task_type |
否 |
String |
任务类型,为空默认设置为object。
|
enable_failed_object_recording |
否 |
Boolean |
是否记录失败对象,默认开启。 开启后,如果有迁移失败对象,会在目的端存储失败对象信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
region |
是 |
String |
源端桶所处的区域。 |
ak |
是 |
String |
源端桶的AK(最大长度100个字符)。
说明:
当表2中task_type为url_list时,ak为非必选。其他任务类型ak为必选。 |
sk |
是 |
String |
源端桶的SK(最大长度100个字符)。
说明:
当表2中task_type为url_list时,sk为非必选。其他任务类型sk为必选。 |
list_file |
否 |
JSONObject |
对象列表文件配置,具体请参见表4。
说明:
当表2中task_type为list或url_list时,list_file为必选参数。 |
object_key |
否 |
String/JSONObject |
源端桶选择的对象名称,可以选择JSONObject格式或者String格式。 如果选择多个源端对象,则选用JSONObject格式,具体请参见表5。
说明:
当表2中task_type为object或prefix时,object_key为必选参数。 |
bucket |
是 |
String |
源端桶的名称。
说明:
当表2中task_type为url_list时,bucket为非必选。其他任务类型bucket为必选。 |
app_id |
否 |
String |
只在其他云服务提供商的账户存在appID这个标识时,需要填写此参数。 |
cloud_type |
否 |
String |
源端云服务提供商。 可选值有AWS、 Aliyun、Tencent、HuaweiCloud、QingCloud、KingsoftCloud、Baidu、Qiniu或URLSource(HTTP/HTTPS数据源)。默认值为Aliyun。 若不设置或为空,则使用默认值。
说明:
当表2中task_type为url_list时,cloud_type必须为URLSource。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
obs_bucket |
是 |
String |
存放对象列表文件的OBS桶名。
说明:
请确保与目的端桶处于同一区域,否则将导致任务创建失败。 |
list_file_key |
是 |
String |
对象列表文件或URL文件列表对象名。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
否 |
String |
云服务提供商的根路径,以空字符串""表示。若使用该参数,请设置为"",否则会报错。 |
keys |
是 |
JSONArray |
源端对象参数,含义取决于参数task_type。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
region |
是 |
String |
目的端桶所处的区域。
说明:
请与Endpoint对应的区域保持一致。 |
ak |
是 |
String |
目的端桶的AK(最大长度100个字符)。 |
sk |
是 |
String |
目的端桶的SK(最大长度100个字符)。 |
object_key |
是 |
String |
目的端桶选择的对象名称(最大长度1024个字符)。 |
bucket |
是 |
String |
目的端桶的名称。 |
cloud_type |
否 |
String |
目的端云服务提供商。 默认值为华为云。若不设置或为空,则使用默认值。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
topicUrn |
是 |
String |
迁移任务所绑定的SMN消息主题的urn号。
说明:
topicUrn所属区域需要与Endpoint对应的区域保持一致。 |
language |
否 |
String |
当前用户所使用的管理控制台的语言。 可以选择zh-cn或者en-us。 |
triggerConditions |
是 |
JSONArray |
SMN消息的触发条件,取决于迁移任务状态。 迁移任务状态的取值范围为SUCCESS或者FAIL。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
protocol |
是 |
String |
协议类型:https或http。 |
domain |
是 |
String |
从指定域名获取对象。 |
authentication_type |
是 |
String |
鉴权方式。
|
authentication_key |
否 |
String |
CDN鉴权秘钥。
|
响应消息
响应参数
参数 |
参数类型 |
描述 |
---|---|---|
id |
long |
迁移任务ID。 |
task_name |
String |
迁移任务名称。 |
示例
请求示例
POST /v1/{project_id}/objectstorage/task
{ "src_node": { "region": "source_region", "ak": "source_ak", "sk": "source_sk", "list_file": { "obs_bucket": "oms-file", "list_file_key": "object-keys.txt" }, "bucket": "source_bucket", "cloud_type": XXX }, "thread_num": 50, "enableKMS": true, "description": "xxx", "dst_node": { "region": "target_region", "ak": "target_ak", "sk": "target_sk", "object_key": "targetkey", "bucket": "targetbucket", "cloud_type": XXX }, "smnInfo": { "topicUrn": "urn:smn:region:3cfb09080bd944d0b4cdd72ef26857bd:OMS", "triggerConditions": ["SUCCESS", "FAIL"], "language": "en-us" }, "task_type": "list", "migrate_since": 123456789 }
或
{ "src_node": { "region": "source_region", "ak": "source_ak", "sk": "source_sk", "object_key": { "path": "", "keys": ["object1", "object2"] }, "bucket": "source_bucket", "cloud_type": "XXX" }, "thread_num": 50, "enableKMS": true, "description": "xxx", "dst_node": { "region": "target_region", "ak": "target_ak", "sk": "target_sk", "object_key": "targetkey", "bucket": "targetbucket", "cloud_type": "XXX" }, "smnInfo": { "topicUrn": "urn:smn:region:3cfb09080bd944d0b4cdd72ef26857bd:OMS", "triggerConditions": ["SUCCESS", "FAIL"], "language": "en-us" }, "source_cdn": { "protocol": "https", "domain": "xxx.xxx.xxx", "authentication_type": "NONE" }, "bandwidth_policy": [ { "start": "00:00", "end": "23:59", "max_bandwidth": 50000000 } ] }
或(URL列表迁移方式)
POST /v1/{project_id}/objectstorage/task
{ "src_node": { "list_file": { "obs_bucket": "oms-file", "list_file_key": "url-list.txt" }, "cloud_type": "URLSource" }, "thread_num": 50, "enableKMS": true, "description": "xxx", "dst_node": { "region": "target_region", "ak": "target_ak", "sk": "target_sk", "object_key": "targetkey", "bucket": "targetbucket" }, "smnInfo": { "topicUrn": "urn:smn:region:3cfb09080bd944d0b4cdd72ef26857bd:OMS", "triggerConditions": ["SUCCESS", "FAIL"], "language": "en-us" }, "task_type": "url_list", "migrate_since": 123456789 }
响应示例
{ "id": 16, "task_name": "task_name" }
状态码
状态码请参见状态码。