
# 获取网格应用拓扑数据 - GetMeshTopology
#### 功能介绍
该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/graph
表1Query参数 
| 参数         | 是否必选 | 参数类型    | 描述                          |
|:---|:---|:---|:---|
| duration   | 是    | Integer | 获取的拓扑图的时间跨度，单位为s            |
| graphType  | 是    | String  | 获取的拓扑图的类型                   |
| namespaces | 是    | String  | 需要展示的命名空间，如果包含多个命名空间通过","分割 |
| metric     | 是    | String  | 需要展示的指标                     |
| queryTime  | 是    | String  | 获取拓扑图的时间点                   |
   
#### 请求参数
表2请求Header参数 
| 参数              | 是否必选 | 参数类型   | 描述                                                     |
|:---|:---|:---|:---|
| X-Mesh-ID       | 是    | String | 需要获取拓扑的网格ID                                            |
| X-Clusters-List | 是    | String | 集群ID集合，用逗号分隔                                           |
| Instance-Map    | 是    | String | 实例信息用冒号分隔,该参数可减少请求响应时间, e.g.: Id:Region:Type:ProjectID |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数    | 参数类型                                                     | 描述            |
|:---|:---|:---|
| edges | Array of [Edge] objects | 网格的应用拓扑中的边数据。 |
| nodes | Array of [Node] objects | 网格的应用拓扑中的点数据。 |
   
 表4Edge 
| 参数      | 参数类型                                                 | 描述                |
|:---|:---|:---|
| id      | String                                               | 网格拓扑边ID。          |
| source  | String                                               | 网格拓扑边的起始节点ID。     |
| target  | String                                               | 网格拓扑边的终止节点ID。     |
| traffic | [Traffic] object | 网格拓扑边所代表的连接的流量信息。 |
   
 表5Node 
| 参数        | 参数类型                                                 | 描述              |
|:---|:---|:---|
| id        | String                                               | 拓扑图节点ID。        |
| parent    | String                                               | 拓扑图中复合节点的父节点ID。 |
| nodeType  | String                                               | 拓扑图节点类型。        |
| cluster   | String                                               | 拓扑图节点所在的集群。     |
| namespace | String                                               | 拓扑图节点所在的命名空间。   |
| pod       | String                                               | 拓扑图节点服务实例的名称。   |
| version   | String                                               | 拓扑图节点的版本。       |
| service   | String                                               | 拓扑图节点的服务。       |
| isBox     | Boolean                                              | 该拓扑节点是否为框体。     |
| traffic   | [Traffic] object | 该拓扑节点流量数据。      |
   
 表6Traffic 
| 参数            | 参数类型                 | 描述    |
|:---|:---|:---|
| protocol      | String               | 协议名称。 |
| rates         | Map\<String,String\> | 访问速率。 |
| responeseTime | String               | 响应时间。 |
   
**状态码：500**
表7响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
#### 请求示例
无
#### 响应示例
无
#### 状态码
| 状态码 | 描述             |
|:---|:---|
| 200 | 正常返回网格的应用拓扑数据。 |
| 500 | 构建拓扑数据时产生内部错误。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-asm/ErrorCode.html)。
