
# 查询可用链路信息 - ListLinks
#### 功能介绍
查询可用链路信息。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=DRS&api=ListLinks&version=v5)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 接口约束
- 目前仅支持Redis单机/主备-\>GeminiDB Redis迁移、Redis集群-\>GeminiDB Redis迁移、MySQL-\>MySQL迁移与同步、Oracle-\>GaussDB分布式同步场景。
- 仅支持部分Region使用，详情参考[终端节点](https://support.huaweicloud.com/api-drs/drs_api_0111.html)。
 
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-drs/drs_api_0035.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
GET /v5/{project_id}/links
表1路径参数 
| **参数**     | **是否必选** | **参数类型** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id | 是        | String   | **参数解释：** 租户在某一Region下的Project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-drs/drs_api_0106.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表2Query参数 
| 参数       | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| job_type | 是    | String  | **参数解释**： DRS任务场景类型，用于区分不同的数据复制场景。 **约束限制**： 不涉及。 **取值范围**： - **migration**：实时迁移  - **sync**：实时同步  - **cloudDataGuard**：实时灾备  - **replay**：流量回放   **默认取值**： 不涉及。 |
| offset   | 否    | Integer | **参数解释**： 偏移量，表示查询该偏移量后面的记录，用于分页查询。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 0                                                                                                                                                                                                                                                                                                                                                                  |
| limit    | 否    | Integer | **参数解释**： 查询返回记录的数量限制，用于分页查询时控制每页返回的数据条数。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                          |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| Content-Type | 是    | String | **参数解释**： 发送的实体的MIME类型。推荐用户默认使用application/json，如果API是对象、镜像上传等接口，媒体类型可按照流类型的不同进行确定。 **约束限制：** 不涉及。 **取值范围：** application/json **默认取值：** application/json                                                                                                                                                                                                                                                                |
| X-Auth-Token | 是    | String | **参数解释**： 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值，该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                  |
| X-Language   | 否    | String | **参数解释**： 请求语言类型。 **约束限制：** 不涉及。 **取值范围：** - **en-us**：英语  - **zh-cn**：中文   **默认取** **值：** **en-us** |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数          | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| job_links   | Array of objects | **参数解释**： 可用链路信息列表，包含每条可用链路的详细配置信息，详情请参见[表5]。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 |
| total_count | Integer          | **参数解释**： 可用链路总条数，表示满足查询条件的链路记录总数量。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                               |
   
 表5job_links字段数据结构说明 
| 参数                   | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| job_type             | String           | **参数解释**： DRS任务场景类型，用于区分不同的数据复制场景。 **约束限制**： 不涉及。 **取值范围**： - **migration**：实时迁移  - **sync**：实时同步  - **cloudDataGuard**：实时灾备                                                                                                                                                                                                                                                             |
| engine_type          | String           | **参数解释**： DRS任务引擎类型，标识数据复制任务所使用的数据库引擎组合。 **约束限制**： 不涉及。 **取值范围**： - oracle-to-gaussdbv5：Oracle同步到GaussDB分布式版，实时同步场景使用。  - mysql-to-mysql：MySQL到MySQL，实时迁移、实时同步场景使用。  - redis-to-gaussredis：Redis迁移到GeminiDB Redis，实时迁移场景使用。  - rediscluster-to-gaussredis：Redis集群迁移到GeminiDB Redis，实时迁移场景使用。   |
| source_endpoint_type | String           | **参数解释**： 源数据库实例类型，标识源数据库的部署方式。 **约束限制**： 不涉及。 **取值范围**： - **offline**：自建数据库。  - **ecs**：华为云ECS自建数据库。  - **cloud**：华为云数据库。                                                                                                                                                                                                                                                                    |
| target_endpoint_type | String           | **参数解释**： 目标数据库实例类型，标识目标数据库的部署方式。 **约束限制**： 不涉及。 **取值范围**： - **offline**：自建数据库  - **ecs**：华为云ECS自建数据库。  - **cloud**：华为云数据库。                                                                                                                                                                                                                                                                  |
| job_direction        | String           | **参数解释**： 任务的迁移方向。 **约束限制**： 不涉及。 **取值范围**： - **up**：入云，灾备场景时对应本云为备  - **down**：出云，灾备场景时对应本云为主  - **non-dbs**：自建                                                                                                                                                                                                                                                                                    |
| net_type             | String           | **参数解释**： 任务使用的网络类型。 **约束限制**： 不涉及。 **取值范围**： - **eip**：公网网络  - **vpc**：VPC网络，灾备场景不支持选择VPC网络  - **vpn**：VPN、专线网络                                                                                                                                                                                                                                                                                 |
| task_types           | Array of strings | **参数解释**： 可用链路支持的迁移模式列表，表示该链路支持的数据迁移执行方式。 **约束限制**： 不涉及。 **取值范围**： - **FULL_TRANS**：全量。  - **FULL_INCR_TRANS**：全量+增量。  - **INCR_TRANS**：增量。                                                                                                                                                                                                                                              |
| cluster_modes        | Array of strings | **参数解释**： 可用链路支持的引擎实例模式列表，表示该链路支持的数据库部署架构类型。 **约束限制**： 不涉及。 **取值范围**： - **Single**：单机模式。  - **Ha**：主备模式。  - **Cluster**：集群模式。  - **Sharding**：分片模式。  - **Independent**：GaussDB独立部署模式。     |
| description          | String           | **参数解释**： 链路的描述信息，用于说明该链路的适用场景或功能特点。 **约束限制**： 不涉及。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码，当任务报错时返回的错误代码。 **约束限制**： - 最小长度：12  - 最大长度：12   **取值范围**： 格式为DRS.XXXXXX。 |
| error_msg  | String | **参数解释**： 错误详细信息，当任务执行失败时返回的具体错误描述。 **约束限制**： - 最小长度：1  - 最大长度：512   **取值范围**： 不涉及。 |
   
#### 请求示例
- 查询实时迁移可用链路信息。
  ```
  https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=migration
  ```
  
- 查询实时同步可用链路信息。
  ```
  https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=sync
  ```
  
- 查询实时灾备可用链路信息。
  ```
  https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/links?job_type=cloudDataGuard
  ```
  
 
#### 响应示例
**状态码：200**
OK
```
{
  "job_links" : [ {
    "job_type" : "sync",
    "engine_type" : "oracle-to-gaussdbv5",
    "net_type" : "eip",
    "task_types" : [ "FULL_INCR_TRANS", "FULL_TRANS", "INCR_TRANS" ],
    "job_direction" : "up",
    "cluster_modes" : [ "Independent", "Combined" ],
    "source_endpoint_type" : "offline",
    "target_endpoint_type" : "cloud"
  }, {
    "job_type" : "sync",
    "engine_type" : "oracle-to-gaussdbv5",
    "net_type" : "vpn",
    "task_types" : [ "FULL_INCR_TRANS", "FULL_TRANS", "INCR_TRANS" ],
    "job_direction" : "up",
    "cluster_modes" : [ "Independent", "Combined" ],
    "source_endpoint_type" : "offline",
    "target_endpoint_type" : "cloud"
  } ],
  "total_count" : 2
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "DRS.10000009",
  "error_msg" : "Parameter error."
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
其他状态请参见[状态码](https://support.huaweicloud.com/api-drs/drs_api_0108.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-drs/drs_05_0004.html)。
