
# 创建订阅 - CreateSubscription
#### 功能介绍
在指定实例中创建订阅。
- 调用接口前，您需要了解API[认证鉴权](https://support.huaweicloud.com/api-rds/rds_03_0001.html)。
- 调用接口前，您需要了解[请求Header参数说明](https://support.huaweicloud.com/api-rds/rds_03_0005.html#rds_03_0005__section479119143310)。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=RDS&api=CreateSubscription)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                 | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名                  | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| rds:instance:update | write | -           | -   | rds:instance:modify | -      |
   
#### URI
- URI格式 POST /v3/{project_id}/instances/{instance_id}/replication/subscriptions
  

- 参数说明
  表1参数说明 
  | 名称          | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | project_id  | 是    | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 非空。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
  | instance_id | 是    | **参数解释：** 实例ID。 **约束限制：** 非空。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                            |
     
  
 
#### 请求消息
- 参数说明
  表2参数说明 
  | 名称                     | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  |:---|:---|:---|:---|
  | subscriptions          | 是    | Array of objects | **参数解释：** 订阅详情。 详情请参见[表3]。 **约束限制：** 一次最多创建十个订阅。                                                                                                                                                         |
  | current_publication_id | 否    | String           | **参数解释：** 给发布创建订阅时的发布ID。 **约束限制：** 给发布创建订阅时必传，不传时则为创建本地订阅。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
   表3subscriptions元素结构说明 
  | 名称                       | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  |:---|:---|:---|:---|
  | subscription_database    | 是    | String  | **参数解释：** 订阅数据库名。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  | subscription_type        | 是    | String  | **参数解释：** 订阅方式。 **约束限制：** 不涉及。 **取值范围：** push：推送。 **默认取值：** push                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | initialize_at            | 是    | String  | **参数解释：** 初始化类型。 **约束限制：** 不涉及。 **取值范围：** - do_not：不初始化。  - immediate：立即初始化。  - at_first_sync：首次同步初始化。   **默认取值：** do_not                                                           |
  | job_schedule             | 是    | Object  | **参数解释：** 同步策略。 详情请参见[表4]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | initialize_info          | 否    | Object  | **参数解释：** 初始化信息。 详情请参见[表9]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | independent_agent        | 否    | Boolean | **参数解释：** 独立的分发代理。 **约束限制：** 不涉及。 **取值范围：** - true：使用。  - false：不使用。   **默认取值：** true                                                                                                                                                                                                                    |
  | bak_file_name            | 否    | String  | **参数解释：** 备份文件名称。若该值不为空，则订阅初始化方式为通过备份文件初始化。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  | bak_bucket_name          | 否    | String  | **参数解释：** 备份文件所在的OBS桶名。 **约束限制：** 不涉及。 **取值范围：** - 若bak_file_name值为空，bak_bucket_name参数无效。  - 若bak_bucket_name值为空，则备份文件来源为RDS的备份文件。  - 若bak_bucket_name值不为空，则备份文件来源为用户OBS桶。   **默认取值：** 不涉及。 |
  | publication_subscription | 否    | Object  | **参数解释：** 发布的订阅信息。 详情请参见[表10]。 **约束限制：** 给发布创建订阅时必传。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | local_subscription       | 否    | Object  | **参数解释：** 本地订阅信息。 详情请参见[表12]。 **约束限制：** 创建本地订阅时必传。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     
   表4job_schedule元素结构说明 
  | 名称                  | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  |:---|:---|:---|:---|
  | id                  | 否    | String | **参数解释：** 策略ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | job_schedule_type   | 否    | String | **参数解释：** 计划类型。 **约束限制：** 不涉及。 **取值范围：** - cpu_idle：CPU空闲时启动。  - recurring：重复执行。  - one_time：执行一次。  - automatically：SQL Server代理启动时自动启动。   **默认取值：** recurring |
  | one_time_occurrence | 否    | Object | **参数解释：** 执行时间。 详情请参见[表5]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | frequency           | 否    | Object | **参数解释：** 策略间隔周期。 详情请参见[表6]。 **约束限制：** 仅当策略ID为空时必填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
  | daily_frequency     | 否    | Object | **参数解释：** 策略每日频率。 详情请参见[表7]。 **约束限制：** 仅当策略ID为空时必填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
  | duration            | 否    | Object | **参数解释：** 策略有效期。 详情请参见[表8]。 **约束限制：** 仅当策略ID为空时必填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     
   表5one_time_occurrence元素结构说明 
  | 名称                | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  |:---|:---|:---|:---|
  | active_start_date | 否    | String | **参数解释：** 执行日期，格式：yyyy-MM-dd。 **约束限制：** 不涉及。 **取值范围：** 1990-01-01\~2099-12-31 **默认取值：** 不涉及。 |
  | active_start_time | 否    | String | **参数解释：** 执行时间，格式：HH:mm:ss。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                 |
     
   表6frequency元素结构说明 
  | 名称                             | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  |:---|:---|:---|:---|
  | freq_type                      | 否    | String           | **参数解释：** 策略频率类型。 **约束限制：** 不涉及。 **取值范围：** - daily：按天。  - weekly：按周。  - monthly_day：按月、每月按天。  - monthly_week：按月、每月按周。   **默认取值：** 不涉及。 |
  | freq_interval                  | 否    | Integer          | **参数解释：** 执行间隔。 **约束限制：** 不涉及。 **取值范围：** 1\~99 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | freq_interval_weekly           | 否    | Array of strings | **参数解释：** 每周执行哪几天。 **约束限制：** 频率类型为按周时该参数必传，不为按周时不生效。 **取值范围：** Monday，Tuesday，Wednesday，Thursday，Friday，Saturday，Sunday。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | freq_interval_day_monthly      | 否    | Integer          | **参数解释：** 每月执行的日期。 **约束限制：** 频率类型为按月、每月按天时该参数必传，不为按月、每月按天时不生效。 **取值范围：** 1\~当月总天数，例如1\~31。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | freq_interval_monthly          | 否    | String           | **参数解释：** 当月按周执行哪几天。 **约束限制：** 频率类型为按月、每月按周时该参数必传，不为按月、每月按周时不生效。 **取值范围：** Sunday，Monday，Tuesday，Wednesday，Thursday，Friday，Saturday，day，weekday，weekend。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | freq_relative_interval_monthly | 否    | String           | **参数解释：** 每月在哪周执行。 **约束限制：** 频率类型为按月、每月按周时该参数必传，不为按月、每月按周时时不生效。 **取值范围：** first，second，third，fourth，last。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
     
   表7daily_frequency元素结构说明 
  | 名称                   | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
  |:---|:---|:---|:---|
  | freq_subday_type     | 否    | String  | **参数解释：** 每日频率类型。 **约束限制：** 不涉及。 **取值范围：** - once：每日一次。  - multiple：每日多次。   **默认取值：** 不涉及。                                                                                                                                                        |
  | active_start_time    | 否    | String  | **参数解释：** 每日第一次执行时间。每日频率类型为每日一次时，则只执行这一次，格式：HH:mm:ss。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                        |
  | active_end_time      | 否    | String  | **参数解释：** 最后一次执行时间，格式：HH:mm:ss。 **约束限制：** 每日执行多次时该参数必传，每日执行一次时不生效。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                             |
  | freq_subday_interval | 否    | Integer | **参数解释：** 执行间隔。 **约束限制：** 每日执行多次时该参数必传，每日执行一次时不生效。 **取值范围：** 1\~99 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                            |
  | freq_interval_unit   | 否    | String  | **参数解释：** 执行间隔的单位。 **约束限制：** 每日执行多次时该参数必传，每日执行一次时不生效。 **取值范围：** - second：秒。  - minute：分。  - hour：时。   **默认取值：** 不涉及。 |
     
   表8duration元素结构说明 
  | 名称                | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  |:---|:---|:---|:---|
  | active_start_date | 否    | String | **参数解释：** 第一次执行日期，格式：yyyy-MM-dd。 **约束限制：** 不涉及。 **取值范围：** 1990-01-01\~2099-12-31 **默认取值：** 不涉及。 |
  | active_end_date   | 否    | String | **参数解释：** 最后一次执行日期，默认不会结束，格式：yyyy-MM-dd。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。         |
     
   表9initialize_info元素结构说明 
  | 名称                | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  |:---|:---|:---|:---|
  | file_source       | 否    | String  | **参数解释：** 初始化使用的文件源。 **约束限制：** 不涉及。 **取值范围：** 仅支持OBS或BACKUP。 **默认取值：** 不涉及。 |
  | backup_id         | 否    | String  | **参数解释：** 使用备份文件初始化的备份文件ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。     |
  | bucket_name       | 否    | String  | **参数解释：** 使用OBS内备份文件恢复的bucket名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。          |
  | file_path         | 否    | String  | **参数解释：** OBS桶内备份文件的路径。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。      |
  | file_name         | 否    | String  | **参数解释：** OBS桶内备份文件的名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。    |
  | overwrite_restore | 否    | Boolean | **参数解释：** 是否使用备份文件对订阅库进行覆盖还原。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。  |
     
   表10publication_subscription元素结构说明 
  | 名称                       | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
  |:---|:---|:---|:---|
  | subscription_instance_id | 是    | String | **参数解释：** 订阅服务器来源为云上实例时的订阅实例ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
  | user_info                | 否    | Object | **参数解释：** 订阅服务器为非云上实例时的登录信息（仅当订阅实例ID为空时生效）。 详情请参见[表11]。 **约束限制：** 不涉及。                                                                                                                         |
     
   表11user_info元素结构说明 
  | 名称                  | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  |:---|:---|:---|:---|
  | server_ip           | 是    | String  | **参数解释：** 服务器IP。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。       |
  | server_port         | 是    | Integer | **参数解释：** 端口号。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。        |
  | server_name         | 是    | String  | **参数解释：** 服务器名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。     |
  | login_user_name     | 是    | String  | **参数解释：** 登录名。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。         |
  | login_user_password | 是    | String  | **参数解释：** 登录密码。 **约束限制：** 不涉及。 **取值范围：** 长度在5\~64位之间。 **默认取值：** 不涉及。 |
     
   表12local_subscription元素结构说明 
  | 名称               | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  |:---|:---|:---|:---|
  | publication_id   | 是    | String | **参数解释：** 直接创建订阅时，服务器来源为云上实例的发布ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。   |
  | publication_name | 否    | String | **参数解释：** 直接创建订阅时，服务器来源为云上实例的发布名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
  
- URI样例 POST https://rds.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/72ee4cc4607347049df9ad50f615bbd8in04/replication/subscriptions
  

- 请求样例
  给发布创建订阅时的请求体。
  ```
  {
      "current_publication_id": "942d9062-4fb9-48ce-bfe1-15655560ad56",
      "subscriptions": [
          {
              "subscription_database": "db-2-01",
              "subscription_type": "push",
              "initialize_at": "immediate",
              "job_schedule": {
                  "id": "569d69c2-53e5-4bef-a356-d7ea2ff6fb98",
                  "frequency": {
                  },
                  "daily_frequency": {
                  },
                  "duration": {
                  },
                  "job_schedule_type": "automatically",
                  "one_time_occurrence": {
                      "active_start_date": "2019-12-31",
                      "active_start_date": "02:00:00"
                  }
              },
              "publication_subscription": {
                  "subscription_instance_id": "a64ba793eee740cb9f315f564b2e135din04"
              }
          }
      ]
  }
  ```
  
 
创建本地订阅时的请求体。
```
{
    "subscriptions": [
        {
            "subscription_database": "sadas",
            "subscription_type": "push",
            "initialize_at": "do_not",
            "job_schedule": {
                "id": "569d69c2-53e5-4bef-a356-d7ea2ff6fb98",
                "frequency": {
                },
                "daily_frequency": {
                },
                "duration": {
                },
                "job_schedule_type": "automatically",
                "one_time_occurrence": {
                }
            },
            "local_subscription": {
                "publication_id": "cef678d8-fce7-4d17-8621-e6577b52f298",
                "publication_name": "pub01"
            }
        }
    ]
}
```
#### 响应消息
- 正常响应要素说明
  表13要素说明 
  | 名称     | 参数类型   | 说明                                                                                                                                                                                                            |
  |:---|:---|:---|
  | job_id | String | **参数解释：** 任务ID。 **取值范围：** 不涉及。 |
     
  

- 正常响应样例
  ```
  {
      "job_id": "374a2954-fa5d-4e7b-89a2-c3b8a0af8ea8"
  }
  ```
  
- 异常响应 请参见[异常响应结果](https://support.huaweicloud.com/api-rds/rds_01_0010.html)。
  
 
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-rds/rds_10_0200.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rds/rds_10_0201.html)。
