
# 获取网格服务的拓扑数据 - GetServiceTopology
#### 功能介绍
该API用于获取网格服务的关联服务拓扑数据。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-asm/asm_api_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-asm/asm_api_0030.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                  | 访问级别 | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                  | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | asm:mesh:getTopology | Read | mesh \*     | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | -      |
     
  
 
#### URI
GET /api/namespaces/{namespace}/services/{service}/graph
表1路径参数 
| 参数        | 是否必选 | 参数类型   | 描述             |
|:---|:---|:---|:---|
| namespace | 是    | String | 查询的关联服务所在的命名空间 |
| service   | 是    | String | 查询的关联服务名称      |
   
表2Query参数 
| 参数        | 是否必选 | 参数类型    | 描述               |
|:---|:---|:---|:---|
| duration  | 是    | Integer | 获取的拓扑图的时间跨度，单位为s |
| queryTime | 是    | String  | 获取拓扑图的时间点        |
| graphType | 是    | String  | 获取的拓扑图的类型        |
| metric    | 是    | String  | 需要展示的指标          |
   
#### 请求参数
表3请求Header参数 
| 参数              | 是否必选 | 参数类型   | 描述                                                     |
|:---|:---|:---|:---|
| X-Mesh-ID       | 是    | String | 需要获取拓扑的网格ID                                            |
| X-Clusters-List | 是    | String | 集群ID集合，用逗号分隔                                           |
| Instance-Map    | 是    | String | 实例信息用冒号分隔,该参数可减少请求响应时间, e.g.: Id:Region:Type:ProjectID |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数    | 参数类型                                                        | 描述            |
|:---|:---|:---|
| edges | Array of [Edge] objects | 网格的应用拓扑中的边数据。 |
| nodes | Array of [Node] objects | 网格的应用拓扑中的点数据。 |
   
 表5Edge 
| 参数      | 参数类型                                                    | 描述                |
|:---|:---|:---|
| id      | String                                                  | 网格拓扑边ID。          |
| source  | String                                                  | 网格拓扑边的起始节点ID。     |
| target  | String                                                  | 网格拓扑边的终止节点ID。     |
| traffic | [Traffic] object | 网格拓扑边所代表的连接的流量信息。 |
   
 表6Node 
| 参数        | 参数类型                                                    | 描述              |
|:---|:---|:---|
| id        | String                                                  | 拓扑图节点ID。        |
| parent    | String                                                  | 拓扑图中复合节点的父节点ID。 |
| nodeType  | String                                                  | 拓扑图节点类型。        |
| cluster   | String                                                  | 拓扑图节点所在的集群。     |
| namespace | String                                                  | 拓扑图节点所在的命名空间。   |
| pod       | String                                                  | 拓扑图节点服务实例的名称。   |
| version   | String                                                  | 拓扑图节点的版本。       |
| service   | String                                                  | 拓扑图节点的服务。       |
| isBox     | Boolean                                                 | 该拓扑节点是否为框体。     |
| traffic   | [Traffic] object | 该拓扑节点流量数据。      |
   
 表7Traffic 
| 参数            | 参数类型                 | 描述    |
|:---|:---|:---|
| protocol      | String               | 协议名称。 |
| rates         | Map\<String,String\> | 访问速率。 |
| responeseTime | String               | 响应时间。 |
   
**状态码：500**
表8响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
#### 请求示例
无
#### 响应示例
无
#### 状态码
| 状态码 | 描述                 |
|:---|:---|
| 200 | 正常返回网格服务的关联服务拓扑数据。 |
| 500 | 构建拓扑数据时产生内部错误。     |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-asm/ErrorCode.html)。
