批量查询微服务实例
功能介绍
实例注册后可以根据微服务版本规则或字段条件批量发现多个微服务的实例。
URI
POST /v4/{project_id}/registry/instances/action
参数 |
类型 |
必选 |
说明 |
---|---|---|---|
project_id |
String |
是 |
请填固定值:default。 |
参数 |
类型 |
必选 |
说明 |
---|---|---|---|
type |
String |
是 |
操作类型。 填固定值:query。 |
请求消息
参数 |
类型 |
必选 |
说明 |
---|---|---|---|
X-ConsumerId |
String |
否 |
服务消费者唯一标识。 |
参数 |
类型 |
必选 |
说明 |
---|---|---|---|
services |
Array of objects |
否 |
微服务请求结构体,具体参考表5。 |
instances |
Array of objects |
否 |
微服务实例请求结构体,具体参考表6。 |
参数 |
类型 |
必选 |
说明 |
---|---|---|---|
service |
Object |
是 |
微服务请求结构体,具体参考DependencyMicroService。 |
rev |
String |
否 |
客户端缓存的版本号。 |
参数 |
类型 |
必选 |
说明 |
---|---|---|---|
instance |
Object |
是 |
微服务实例请求结构体,具体参考HeartbeatSetElement。 |
rev |
String |
否 |
客户端缓存的版本号。 |
响应消息
响应参数
参数说明请参见表7。
参数 |
类型 |
说明 |
---|---|---|
failed |
Array of objects |
部分微服务发现失败的响应结构体,具体参考表9。 |
notModified |
Array of integers |
实例没有发生变化的索引数组,每一项的值对应请求结构体中微服务数组的索引值。 |
updated |
Array of objects |
实例发生变化的响应结构体,具体参考表10。 |
参数 |
类型 |
说明 |
---|---|---|
indexes |
Array of integers |
微服务发现失败的索引数组,每一项的值对应请求结构体中微服务数组的索引值。 |
error |
Object |
错误信息结构体,具体参考Error。 |
参数 |
类型 |
说明 |
---|---|---|
index |
Integer |
实例发生变化的索引数组,每一项的值对应请求结构体中微服务数组的索引值。 |
rev |
String |
返回给客户端缓存的版本号。 |
instances |
Array of objects |
微服务实例的集合,具体参考MicroServiceInstance。 |
示例
请求示例
curl -X POST "/v4/default/registry/instances/action?type=query" -H "accept: application/json" -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" } ] } ] } }
状态码
状态码请参见状态码。
错误码
错误码请参见CSE错误码。