调用CreateDataTasks,创建索引迁移任务,将所选集群中的数据迁移到当前集群。

调用该接口前,需要注意:

  • 目前一键索引迁移功能仅支持华北2(北京)地域。
  • 源和目标端Elasticsearch集群需要满足:源端为6.7.0版本的自建或阿里云Elasticsearch集群,目标端为6.3.2或6.7.0版本的阿里云Elasticsearch集群。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求头

该接口使用公共请求头,无特殊请求头。请参见公共请求参数文档。

请求语法

POST /openapi/instances/{InstanceId}/data-task HTTP/1.1

请求参数

名称 类型 位置 是否必选 示例值 描述
ClientToken String Query 5A2CFF0E-5718-45B5-9D4D-70B3FF****

用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大不超过64个ASCII字符。

InstanceId String Path es-cn-n6w1o1x0w001c****

索引迁移的目标集群ID。

Array Body

请求体参数。

sourceCluster Object Body

源集群信息。

dataSourceType String Body elasticsearch

源集群类型。默认为elasticsearch。

endpoint String Body http://yourdomain.com

集群公网域名。源集群为开启公网时可填写。

vpcInstanceId String Body es-xxx-worker

当前集群的实例ID或负载均衡SLB(Server Load Balancer)实例ID。源集群采用VPC信息进行连接。

username String Body elastic

源集群的登录用户名。

password String Body es_password

源集群的登录密码。

index String Body index_001

源集群索引。

type String Body index_001

源集群索引的数据类型。

vpcInstancePort Integer Body 9200

访问集群的端口号。源集群采用VPC信息进行连接。

vpcId String Body vpc-xxx

集群所在的专有网络ID。源集群采用VPC信息进行连接。

说明 endpoint为公网域名时可不填,为私网域名时需填写。
sinkCluster Object Body

目标集群信息。

dataSourceType String Body elasticsearch

目标集群类型。

username String Body elastic

目标集群的登录用户名。

password String Body xxxxx

目标集群的登录密码。

index String Body index_001

目标集群的指定索引。

type String Body index_001

指定索引的类型。

settings String Body {\n \"index\": {\n \"replication\": {\n \"type\": .....}

Settings配置。

mapping String Body {\"doc\":{\"properties\":{\"interval_ms\":{\"type\":\"long\"},....}

Mapping配置。

routing String Body _id

索引路由字段,默认使用主键字段。

migrateConfig Object Body

迁移配置。

sourceFilterParams String Body index=111

索引的过滤条件,过滤指定条件的文档来做索引重建。

  • 集群开启公网:填写endpoint参数进行连接。
  • 集群未开启公网(或使用VPC信息连接集群):填写参数vpcInstancePort、vpcId、vpcInstanceId或vpcInstancePort、vpcId、vpcIp进行连接。

示例如下:

  • 公网访问集群
    
        {
            "sourceCluster":{
                "dataSourceType":"elasticsearch",
                "endpoint" : "http://es-cn-n6w1o1x0w001c****.public.elasticsearch.aliyuncs.com:9200",
                "username" : "elastic",
                "password" : "xxxxxx",
                "index" : "default",
                "type" : "default"
             },
            "sinkCluster":{
                "dataSourceType":"elasticsearch",
                "username" : "elastic",
                "password" : "xxxxxx",
                "index" : "default",
                "type" : "default",
                "settings" : "#settings 配置#",
                "mapping" : "#mapping配置#",
                "routing" : "_id"
            },
            "migrateConfig": {
                "sourceFilterParams": ""
            }
       }
         
  • 阿里云Elasticsearch集群
    
        {
            "sourceCluster":{
                "dataSourceType" : "elasticsearch",
                "vpcInstancePort":9200,
                "vpcId":"vpc-2ze55voww95g82gak****",
                "vpcInstanceId":"es-cn-oew1oxiro000f****-worker",
                "username" : "elastic",
                "password" : "xxxxxx",
                "index" : "default",
                "type" : "default"
            },
            "sinkCluster":{
                "dataSourceType":"elasticsearch",
                "username" : "elastic",
                "password" : "xxxxxx",
                "index" : "default",
                "type" : "default",
                "settings" : "#settings 配置#",
                "mapping" : "#mapping配置#",
                "routing" : "_id"
            },
            "migrateConfig": {
                "sourceFilterParams": ""
            }
        }
        

返回数据

名称 类型 示例值 描述
RequestId String 5FFD9ED4-C2EC-4E89-B22B-1ACB6FE1****

请求ID。

Result Array of Result

返回结果。

sourceCluster Object

源集群信息。

password String xxxxxx

源集群的访问密码。

index String index_001

指定待迁移的索引。

type String index_001

指定的索引类型。

endpoint String http://10.20.xx.xx:9200

集群公网域名。

username String elastic

源集群的用户名。

vpcId String vpc-2ze55voww95g82gak****

源集群所在的专有网络ID(集群访问地址为公网域名可不填,私网地址需要填写)。

vpcInstanceId String es-cn-oew1oxiro000f****-worker

专有网络下集群的实例ID,或SLB实例ID。

vpcInstancePort Integer 9200

源集群的访问端口号。

dataSourceType String elasticsearch

源集群类型,默认为elasticsearch。

sinkCluster Object

目标集群信息。

password String xxxxx

目标集群的访问密码。

index String index_001

目标索引名。

settings String {\n \"index\": {\n \"replication\": {\n \"type\": .....}

Settings配置。

mapping String {\"doc\":{\"properties\":{\"interval_ms\":{\"type\":\"long\"},....}

Mapping配置。

type String index_001

目标索引类型。

routing String cluster_name

路由字段,默认使用主键字段。

username String elastic

目标集群的用户名。

vpcId String vpc-2ze55voww95g82gak****

集群所在的专有网络ID(集群访问地址为公网域名可不填,私网地址需要填写)。

vpcInstancePort String 9200

集群访问端口号。

vpcInstanceId String es-cn-oew1oxiro000f****-worker

专有网络下集群的实例ID,或SLB实例ID。

dataSourceType String elasticsearch

目标集群类型。

示例

请求示例

POST /openapi/instances/es-cn-n6w1o1x0w001c****/data-task?ClientToken=5A2CFF0E-5718-45B5-9D4D-70B3FF**** HTTP/1.1
Host:elasticsearch.aliyuncs.com
Content-Type:application/json

[ {
    "sourceCluster":{
        "dataSourceType":"elasticsearch",
        "endpoint" : "http://es-cn-n6w1o1x0w001c****.public.elasticsearch.aliyuncs.com:9200",
        "username" : "elastic",
        "password" : "xxxxxx",
        "index" : "default",
        "type" : "default"
     },
    "sinkCluster":{
        "dataSourceType":"elasticsearch",
        "username" : "elastic",
        "password" : "xxxxxx",
        "index" : "default",
        "type" : "default",
        "settings" : "{\n  \"index\": {\n    \"replication\": {\n      \"type\": .....}",
        "mapping" : "{\"doc\":{\"properties\":{\"interval_ms\":{\"type\":\"long\"},....}",
        "routing" : "_id"
    },
    "migrateConfig":{
        "sourceFilterParams": "index = 1"
    }
  } ]

正常返回示例

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "5FFD9ED4-C2EC-4E89-B22B-1ACB6FE1****",
  "Result" : [ {
    "sourceCluster" : {
      "password" : "xxxxxx",
      "endpoint" : "http://10.20.xx.xx:9200",
      "vpcId" : "vpc-2ze55voww95g82gak****",
      "vpcInstancePort" : 9200,
      "index" : "index_001",
      "type" : "index_001",
      "vpcInstanceId" : "es-cn-oew1oxiro000f****-worker",
      "dataSourceType" : "elasticsearch",
      "username" : "elastic"
    },
    "sinkCluster" : {
      "routing" : "cluster_name",
      "settings" : "{\\n  \\\"index\\\": {\\n    \\\"replication\\\": {\\n      \\\"type\\\": .....}",
      "password" : "xxxxx",
      "mapping" : "{\\\"doc\\\":{\\\"properties\\\":{\\\"interval_ms\\\":{\\\"type\\\":\\\"long\\\"},....}",
      "vpcInstancePort" : 9200,
      "vpcId" : "vpc-2ze55voww95g82gak****",
      "index" : "index_001",
      "type" : "index_001",
      "vpcInstanceId" : "es-cn-oew1oxiro000f****-worker",
      "dataSourceType" : "elasticsearch",
      "username" : "elastic"
    }
  } ]
}

错误码

访问错误中心查看更多错误码。