
# 根据service_id查询微服务实例 - QueryMicroserviceInstance
#### 功能介绍
实例注册后可以根据service_id发现该微服务的所有实例。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cse/cse_06_0081.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
GET /v4/{project_id}/registry/microservices/{service_id}/instances
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                            |
|:---|:---|:---|:---|
| project_id | 是    | String | 请填固定值：default。                                                                                                |
| service_id | 是    | String | 微服务唯一标识。字符长度为1\~64，正则表达式为\^.\*$。获取方法请参考[查询所有微服务信息](https://support.huaweicloud.com/api-cse/cse_06_0039.html)。 |
   
表2Query参数 
| 参数   | 是否必选 | 参数类型   | 描述                                                          |
|:---|:---|:---|:---|
| tags | 否    | String | Tag标签过滤，多个时逗号分隔。 正则表达式为\^\[a-zA-Z\]\[a-zA-Z0-9_-.\]{0,63}$。 |
   
#### 请求参数
表3请求Header参数 
| 参数              | 是否必选     | 参数类型          | 描述                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| X-ConsumerId    | 否        | String        | 微服务消费者的微服务唯一标识。                                                                                                                                                                                                                                                                                          |
| Authorization   | 否        | String        | 若ServiceComb引擎专享版开启了安全认证，此参数必填。否则，无此参数。 开启了安全认证的ServiceComb引擎专享版Token，格式为： ``` Authorization:Bearer {Token} ``` Token获取方法，请参考[获取ServiceComb引擎专享版用户Token](https://support.huaweicloud.com/api-cse/cse_06_0035.html)。                               |
| X-Authorization |  否 |  String | 若ServiceComb引擎专享版开启了安全认证，此参数必填。否则，无此参数。 开启了安全认证的ServiceComb引擎专享版Token，格式为： ``` X-Authorization:Bearer {Token} ``` Token获取方法，请参考[获取ServiceComb引擎专享版用户Token](https://support.huaweicloud.com/api-cse/cse_06_0035.html)。 |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数        | 参数类型                                                                                                              | 描述    |
|:---|:---|:---|
| instances | Array of [MicroServiceInstance] objects | 实例列表。 |
   
 表5MicroServiceInstance 
| 参数             | 参数类型                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| instanceId     | String                                                                                      | 实例id，唯一标识。创建实例，instanceId由service-center产生。                                                                                                                                                                                                                                                                                                                                                                                                        |
| serviceId      | String                                                                                      | 微服务唯一标识，创建实例时，以url里面的为准，不用这里的serviceId。                                                                                                                                                                                                                                                                                                                                                                                                            |
| version        | String                                                                                      | 微服务版本号。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| hostName       | String                                                                                      | 主机信息。                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| endpoints      | Array of strings                                                                            | 访问地址信息。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| status         | String                                                                                      | 实例状态。 **取值范围：** - UP：实例健康。  - DOWN：实例不健康。  - STARTING：实例正在启动。  - OUTOFSERVICE：实例停止对外提供服务。   |
| properties     | Object                                                                                      | 微服务扩展属性，可以自定义KEY和相应的Value。长度最小1字节。                                                                                                                                                                                                                                                                                                                                                                                                                 |
| healthCheck    | [HealthCheck] object       | 健康检查信息。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| dataCenterInfo | [DataCenterInfo] object | 数据中心信息。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| timestamp      | String                                                                                      | 实例创建时间戳，自动生成。                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| modTimestamp   | String                                                                                      | 更新时间。                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表6HealthCheck 
| 参数       | 参数类型    | 描述                     |
|:---|:---|:---|
| mode     | String  | 心跳模式push/pull。         |
| port     | Integer | 端口。                    |
| interval | Integer | 心跳间隔（秒），当值小于5秒时，按5秒注册。 |
| times    | Integer | 最大尝试请求次数。              |
   
 表7DataCenterInfo 
| 参数            | 参数类型   | 描述    |
|:---|:---|:---|
| name          | String | 区域名字。 |
| region        | String | 区域。   |
| availableZone | String | 可用区。  |
   
**状态码： 400**
表8响应Body参数 
| 参数           | 参数类型   | 描述      |
|:---|:---|:---|
| errorCode    | String | 错误代码。   |
| errorMessage | String | 错误信息。   |
| detail       | String | 详细定位信息。 |
   
**状态码： 500**
表9响应Body参数 
| 参数           | 参数类型   | 描述      |
|:---|:---|:---|
| errorCode    | String | 错误代码。   |
| errorMessage | String | 错误信息。   |
| detail       | String | 详细定位信息。 |
   
#### 请求示例
查询指定service_id的微服务的实例信息。
```
GET https://{endpoint}/v4/{project_id}/registry/microservices/{service_id}/instances
```
#### 响应示例
**状态码： 200**
查询成功。
```
{
    "instances": [
        {
            "instanceId": "8540bb8b693c4ad1a7fb6a756c415244",
            "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": "1650545035",
            "modTimestamp": "1650545035",
            "version": "1.0.0"
        }
    ]
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 查询成功。   |
| 400 | 错误的请求。  |
| 500 | 服务内部错误。 |
   
#### 错误码
请参见[ServiceComb错误码](https://support.huaweicloud.com/api-cse/cse_06_0110.html)。
