文档首页 > > API参考> API说明> 微服务引擎> 批量查询微服务实例

批量查询微服务实例

分享
更新时间: 2019/09/20 GMT+08:00

功能介绍

实例注册后可以根据微服务版本规则或字段条件批量发现多个微服务的实例。

URI

POST /v4/{project_id}/registry/instances/action

参数说明请参见表1

表1 参数说明

参数

位于

类型

必选

说明

project_id

path

String

租户子项目的唯一标识。字符长度为1~64。

请求消息

请求参数

参数说明请参见表2

表2 参数说明

参数

位于

类型

必选

说明

X-ConsumerId

header

String

微服务消费者的微服务唯一标识。

x-domain-name

header

String

租户账号名称。

type

query

String

操作类型:

  • query: 批量查询。

body

body

BatchFindRequest

批量查询微服务实例请求结构体。

表3 BatchFindRequest参数说明

参数

类型

必选

说明

services

array

每一项为FindService

微服务请求结构体。

instances

array

每一项为FindInstance

微服务实例请求结构体。

表4 FindService参数说明

参数

类型

必选

说明

service

DependencyMicroService

微服务请求结构体。

rev

String

客户端缓存的版本号。

表5 FindInstance参数说明

参数

类型

必选

说明

instance

HeartbeatSetElement

微服务实例请求结构体。

rev

String

客户端缓存的版本号。

响应消息

响应参数

参数说明请参见表6

表6 参数说明

参数

类型

说明

services

BatchFindResult

微服务发现的响应结构体。

instances

BatchFindResult

微服务实例发现的响应结构体。

表7 BatchFindResult参数说明

参数

类型

说明

failed

Array

每一项为FindFailedResult

部分微服务发现失败的响应结构体。

notModified

Array

每一项为int

实例没有发生变化的索引数组,每一项的值对应请求结构体中微服务数组的索引值。

updated

Array

每一项为FindResult

实例发生变化的响应结构体。

表8 FindFailedResult参数说明

参数

类型

说明

indexes

Array

每一项为Int

微服务发现失败的索引数组,每一项的值对应请求结构体中微服务数组的索引值。

error

Error

错误信息结构体。

表9 FindResult参数说明

参数

类型

说明

index

Int

实例发生变化的索引数组,每一项的值对应请求结构体中微服务数组的索引值。

rev

String

返回给客户端缓存的版本号。

instances

Array

每一项为MicroServiceInstance

微服务实例的集合。

示例

请求示例

curl -X POST "/v4/default/registry/instances/action?type=query" -H "accept: application/json" -H "X-Domain-Name: default" -H "X-ConsumerId: string" -H "Content-Type: application/json" -d '
{
  "services": [
    {
      "service": {
        "environment": "string",
        "appId": "string",
        "serviceName": "string",
        "version": "string"
      },
      "rev": "string"
    }
  ],
  "instances": [
    {
      "instance": {
        "serviceId": "string",
        "instanceId": "string"
      },
      "rev": "string"
    }
  ]
}

响应示例

HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Server: SERVICECENTER/0.0.1
Vary: Accept-Encoding
Vary: Origin
X-Response-Status: 200
Date: Fri, 21 Dec 2018 02:36:48 GMT
Content-Length: 1952

{
  "services": {
    "failed": [
      {
        "indexes": [
          0
        ],
        "error": {
          "errorCode": "string",
          "errorMessage": "string",
          "detail": "string"
        }
      }
    ],
    "notModified": [
      0
    ],
    "updated": [
      {
        "index": 0,
        "rev": "string",
        "instances": [
          {
            "instanceId": "string",
            "serviceId": "string",
            "version": "string",
            "hostName": "string",
            "endpoints": [
              "string"
            ],
            "status": "string",
            "healthCheck": {
              "mode": "string",
              "port": 0,
              "interval": 0,
              "times": 0
            },
            "dataCenterInfo": {
              "name": "string",
              "region": "string",
              "availableZone": "string"
            },
            "timestamp": "string",
            "modTimestamp": "string"
          }
        ]
      }
    ]
  },
  "instances": {
    "failed": [
      {
        "indexes": [
          0
        ],
        "error": {
          "errorCode": "string",
          "errorMessage": "string",
          "detail": "string"
        }
      }
    ],
    "notModified": [
      0
    ],
    "updated": [
      {
        "index": 0,
        "rev": "string",
        "instances": [
          {
            "instanceId": "string",
            "serviceId": "string",
            "version": "string",
            "hostName": "string",
            "endpoints": [
              "string"
            ],
            "status": "string",
            "healthCheck": {
              "mode": "string",
              "port": 0,
              "interval": 0,
              "times": 0
            },
            "dataCenterInfo": {
              "name": "string",
              "region": "string",
              "availableZone": "string"
            },
            "timestamp": "string",
            "modTimestamp": "string"
          }
        ]
      }
    ]
  }
}

状态码

状态码请参见状态码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区