批量查询微服务实例
功能介绍
实例注册后可以根据微服务字段条件批量发现多个微服务的实例。
URI
POST /v4/{project_id}/registry/instances/action
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        project_id  | 
      
        是  | 
      
        String  | 
      
        请填固定值:default。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        type  | 
      
        是  | 
      
        String  | 
      
        操作类型,目前仅有“query”,表示查询。  | 
     
请求参数
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        X-consumerId  | 
      
        否  | 
      
        String  | 
      
        微服务消费者的微服务唯一标识。  | 
     
| 
        Authorization  | 
      
        否  | 
      
        String  | 
      
        若ServiceComb引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的ServiceComb引擎专享版Token,格式为: Authorization:Bearer {Token}
       Token获取方法,请参考获取ServiceComb引擎专享版用户Token。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        services  | 
      
        两个参数至少必须选择一个。  | 
      
        Array of FindService objects  | 
      
        查询服务信息结构体。  | 
     
| 
        instances  | 
      
        Array of FindInstance objects  | 
      
        查询实例信息结构体。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        service  | 
      
        是  | 
      
        DependencyKey object  | 
      
        依赖关系条目。  | 
     
| 
        rev  | 
      
        否  | 
      
        String  | 
      
        客户端缓存的版本号,用于判断本地缓存和服务中心微服务的差异。 
  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        environment  | 
      
        是  | 
      
        String  | 
      
        环境信息:development、testing、acceptance、production。  | 
     
| 
        appId  | 
      
        是  | 
      
        String  | 
      
        应用app唯一标识。  | 
     
| 
        serviceName  | 
      
        是  | 
      
        String  | 
      
        微服务名称。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        instance  | 
      
        否  | 
      
        HeartbeatSetElement object  | 
      
        微服务实例请求结构体。  | 
     
| 
        rev  | 
      
        否  | 
      
        String  | 
      
        客户端缓存的版本号,用于判断本地缓存和服务中心微服务实例的差异。 
  | 
     
响应参数
状态码: 200
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        services  | 
      
        BatchFindResult object  | 
      
        批量查询结果结构体。  | 
     
| 
        instances  | 
      
        BatchFindResult object  | 
      
        批量查询结果结构体。  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        failed  | 
      
        Array of FindFailedResult objects  | 
      
        查询失败结果结构体。  | 
     
| 
        notModified  | 
      
        Array of integers  | 
      
        与请求数组对应的索引集合。  | 
     
| 
        updated  | 
      
        Array of FindResult objects  | 
      
        查询结果结构体列表。  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        index  | 
      
        Integer  | 
      
        与请求数组对应的索引。  | 
     
| 
        rev  | 
      
        String  | 
      
        服务端返回集合版本,如跟客户端缓存版本号一致,则instances为空。  | 
     
| 
        instances  | 
      
        Array of MicroServiceInstance objects  | 
      
        实例列表。  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        instanceId  | 
      
        String  | 
      
        实例id,唯一标识。创建实例,instanceId由service-center产生。  | 
     
| 
        serviceId  | 
      
        String  | 
      
        微服务唯一标识,创建实例时,以url里面的为准,不用这里的serviceId。  | 
     
| 
        version  | 
      
        String  | 
      
        微服务版本号。  | 
     
| 
        hostName  | 
      
        String  | 
      
        主机信息。  | 
     
| 
        endpoints  | 
      
        Array of strings  | 
      
        访问地址信息。  | 
     
| 
        status  | 
      
        String  | 
      
        实例状态:UP、DOWN、STARTING、OUTOFSERVICE。默认值UP。  | 
     
| 
        properties  | 
      
        Object  | 
      
        微服务扩展属性,可以自定义KEY和相应的Value。长度最小为1字节。  | 
     
| 
        healthCheck  | 
      
        HealthCheck object  | 
      
        健康检查信息。  | 
     
| 
        dataCenterInfo  | 
      
        DataCenterInfo object  | 
      
        数据中心信息。  | 
     
| 
        timestamp  | 
      
        String  | 
      
        实例创建时间戳,自动生成。  | 
     
| 
        modTimestamp  | 
      
        String  | 
      
        更新时间。  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        mode  | 
      
        String  | 
      
        心跳模式push/pull。  | 
     
| 
        port  | 
      
        Integer  | 
      
        端口。  | 
     
| 
        interval  | 
      
        Integer  | 
      
        心跳间隔(秒),当值小于5秒时,按5秒注册。  | 
     
| 
        times  | 
      
        Integer  | 
      
        最大尝试请求次数。  | 
     
状态码: 400
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        errorCode  | 
      
        String  | 
      
        错误代码。  | 
     
| 
        errorMessage  | 
      
        String  | 
      
        错误信息。  | 
     
| 
        detail  | 
      
        String  | 
      
        详细定位信息。  | 
     
状态码: 500
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        errorCode  | 
      
        String  | 
      
        错误代码。  | 
     
| 
        errorMessage  | 
      
        String  | 
      
        错误信息。  | 
     
| 
        detail  | 
      
        String  | 
      
        详细定位信息。  | 
     
请求示例
查询应用ID为default,微服务名称为test的微服务的所有实例。
POST https://{endpoint}/v4/{project_id}/registry/instances/action?type=query
{
  "services": [
    {
      "service": {
        "environment": "",
        "appId": "default",
        "serviceName": "test"
      },
      "rev": "0"
    }
  ]
}
 响应示例
状态码: 200
查询成功。
{
    "services": {
        "updated": [
            {
                "index": 0,
                "rev": "0feb784798bca7b2fb4de8351578c4437b516c4b",
                "instances": [
                    {
                        "instanceId": "79cdaf47cacf43a5b2b4185527da2255",
                        "serviceId": "8aed80ea052ac04a64dfc79c24f2170224d074f5",
                        "endpoints": [
                            "rest:127.0.0.1:8080"
                        ],
                        "hostName": "hostNameTest",
                        "status": "UP",
                        "properties": {
                            "engineID": "30c263e5-2eac-4da1-9c72-5abb9ac94550",
                            "engineName": "cse-fkln1-HA"
                        },
                        "healthCheck": {
                            "mode": "push",
                            "interval": 30,
                            "times": 3
                        },
                        "timestamp": "1650546183",
                        "modTimestamp": "1650546183",
                        "version": "1.0.0"
                    }
                ]
            }
        ]
    }
}
 状态码
| 
        状态码  | 
      
        描述  | 
     
|---|---|
| 
        200  | 
      
        查询成功。  | 
     
| 
        400  | 
      
        错误的请求。  | 
     
| 
        500  | 
      
        服务内部错误。  | 
     
错误码
请参见ServiceComb错误码。