
# 创建发布 - CreatePublication
#### 功能介绍
创建发布。
- 调用接口前，您需要了解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=CreatePublication)中调试该接口。
#### 授权信息
账号具备所有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/publications
  

- 参数说明
  表1参数说明 
  | 名称          | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | project_id  | 是    | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 非空。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
  | instance_id | 是    | **参数解释：** 实例ID。 **约束限制：** 非空。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                            |
     
  
 
#### 请求参数
表2参数说明 
| 名称                             | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| publication_name               | 是    | String           | **参数解释：** 发布名称。 **约束限制：** 不涉及。 **取值范围：** 发布名称长度可在5～64个字符之间，由字母、数字或下划线组成，不能包含其他特殊字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                   |
| publication_database           | 是    | String           | **参数解释：** 发布数据库名。 **约束限制：** 本实例中存在的数据库。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                               |
| is_create_snapshot_immediately | 是    | boolean          | **参数解释：** 是否立即创建快照。 **约束限制：** 不涉及。 **取值范围：** - true：立即创建快照。  - false：不立即创建快照。   **默认取值：** 不涉及。 |
| subscription_options           | 否    | Object           | **参数解释：** 订阅选项。详情请参见[表3 subscription_options要素说明]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| job_schedule                   | 是    | Object           | **参数解释：** 策略详情。详情请参见[表4 job_schedule要素说明]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| is_select_all_table            | 否    | boolean          | **参数解释：** 是否选择所有数据表。 **约束限制：** 不涉及。 **取值范围：** - true：选择所有表。  - false : 不选择所有表。   **默认取值：** 不涉及。                 |
| extend_tables                  | 否    | Array of string  | **参数解释：** 全选所有表后需要去除的表。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                        |
| tables                         | 是    | Array of Objects | **参数解释：** 发布数据表。详情请参见[表9]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
 表3subscription_options要素说明 
| 名称                           | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| independent_agent            | 否    | Boolean | **参数解释：** 独立的分发代理。 **约束限制：** 不涉及。 **取值范围：** - true：使用。  - false：不使用。   **默认取值：** true      |
| snapshot_always_available    | 否    | Boolean | **参数解释：** 快照始终可用。 **约束限制：** 需要开启"独立的分发代理"。 **取值范围：** - true：可用。  - false：不可用。   **默认取值：** true |
| replicate_ddl                | 否    | Boolean | **参数解释：** 复制架构更改。 **约束限制：** 不涉及。 **取值范围：** - true：可复制。  - false：不可复制。   **默认取值：** true             |
| allow_initialize_from_backup | 否    | Boolean | **参数解释：** 允许使用备份文件初始化。 **约束限制：** 不涉及。 **取值范围：** - true：允许。  - false：不允许。   **默认取值：** false            |
   
 表4job_schedule要素说明 
| 名称                  | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| id                  | 是    | String | **参数解释：** 策略ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| job_schedule_type   | 否    | String | **参数解释：** 代理计划类型。 **约束限制：** 不涉及。 **取值范围：** - automatically：SQL Server代理启动时自动启动。  - cpu_idle：CPU空闲时启动。  - recurring：重复执行。  - one_time：执行一次。   **默认取值：** recurring |
| one_time_occurrence | 否    | Object | **参数解释：** 执行时间。 详情请参见[表5 one_time_occurrence要素说明]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| frequency           | 否    | Object | **参数解释：** 策略间隔周期。 详情请参见[表6 frequency要素说明]。 **约束限制：** 仅当策略ID为空时该参数必填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| daily_frequency     | 否    | Object | **参数解释：** 策略每日频率。 详情请参见[表7 daily_frequency要素说明]。 **约束限制：** 仅当策略ID为空时该参数必填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| duration            | 否    | Object | **参数解释：** 策略有效期。 详情请参见[表8 duration要素说明]。 **约束限制：** 仅当策略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 String | **参数解释：** 每周执行哪几天。 **约束限制：** 频率类型为按周时该参数必传，不为按周时不生效。 **取值范围：** 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。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。      |
   
 表9tables要素说明 
| 名称                 | 是否必选 | 参数类型            | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| table_name         | 是    | String          | **参数解释：** 表名。 **约束限制：** 不涉及。 **取值范围：** 表名长度在1～64个字符之间，由字母、数字或下划线组成，不能包含其他特殊字符。 **默认取值：** 不涉及。                                |
| schema             | 否    | String          | **参数解释：** schema名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** dbo                                                           |
| columns            | 否    | Array of String | **参数解释：** 发布的字段。 **约束限制：** 未传（null）或为空 \[\] ，表示选择所有字段。 **取值范围：** 字段名称长度在1～64个字符之间，由字母、数字或下划线组成，不能包含其他特殊字符。 **默认取值：** 不涉及。 |
| primary_key        | 否    | Array of String | **参数解释：** 主键。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                    |
| filter_statement   | 否    | String          | **参数解释：** 筛选语句。 **约束限制：** 不能包含英文单引号 ' 。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                          |
| filter             | 否    | Object          | **参数解释：** 筛选器。 详情请参见[表10 filter要素说明]。 **约束限制：** 仅当筛选语句为空时生效，筛选语句和筛选器都为空时说明没有筛选条件。                                                                                                                                                              |
| article_properties | 否    | Object          | **参数解释：** 项目属性。 详情请参见[表11 article_properties要素说明]。 **约束限制：** 不涉及。                                                                                                                                                                           |
   
 表10filter要素说明 
| 名称        | 是否必选 | 参数类型            | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| relation  | 否    | String          | **参数解释：** 筛选关系。为空时表示当前为最下级筛选器，不为空时表示当前项还有下级筛选器。 **约束限制：** 不涉及。 **取值范围：** 不为空时取值范围：AND，OR。 **默认取值：** 不涉及。           |
| column    | 否    | String          | **参数解释：** 筛选字段。 **约束限制：** 仅当筛选关系为空时生效，且筛选关系为空时必传。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                        |
| condition | 否    | String          | **参数解释：** 筛选条件。 **约束限制：** 仅当筛选关系为空时生效，且筛选关系为空时必传。 **取值范围：** =, !=, \>, \<, \>=, \<=, LIKE, NOT LIKE, IN。 **默认取值：** 不涉及。 |
| value     | 否    | String          | **参数解释：** 筛选值。 **约束限制：** 仅当筛选关系为空时生效，且筛选关系为空时必传。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                        |
| filters   | 否    | Array of Object | **参数解释：** 下级筛选器。 详情请参见[表10 filter要素说明]。 **约束限制：** 仅当筛选关系不为空时生效，且筛选关系不为空时必传。                                                                                                                                                             |
   
 表11article_properties要素说明 
| 名称                       | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| destination_object_name  | 否    | String | **参数解释：** 目标对象名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| destination_object_owner | 否    | String | **参数解释：** 目标对象命名空间。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| insert_delivery_format   | 否    | String | **参数解释：** 插入交付格式。 **约束限制：** 不涉及。 **取值范围：** - do_not_insert：不执行插入语句。  - insert：执行插入语句。  - insert_without_column_list：插入语句字段保持原来顺序。  - call_procedure：执行存储过程传递所有列的所有值。   **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                     |
| insert_stored_procedure  | 否    | String | **参数解释：** 插入存储过程。 **约束限制：** 插入交付格式填call_procedure时该项必填。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| update_delivery_format   | 否    | String | **参数解释：** 更新交付格式。 **约束限制：** 不涉及。 **取值范围：** - do_not_update：不执行更新语句。  - update：执行更新语句。  - call_procedure：执行存储过程传递所有列的所有值。  - mcall_procedure：执行存储过程只传递受影响列的值，它还包含一个表示已更改列的位掩码。  - xcall_procedure：执行存储过程传递所有列（无论是否受影响）以及每列的旧数据值  - scall_procedure：执行存储过程只传递受更新实际影响的列的值。   **默认取值：** 不涉及。 |
| update_stored_procedure  | 否    | String | **参数解释：** 更新存储过程。 **约束限制：** 更新交付格式填call_procedure、mcall_procedure、xcall_procedure或scall_procedure时该项必填。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| delete_delivery_format   | 否    | String | **参数解释：** 删除交付格式。 **约束限制：** 不涉及。 **取值范围：** - do_not_delete：不执行删除语句。  - delete：执行删除语句。  - call_procedure：执行存储过程传递所有列的所有值。  - xcall_procedure：执行存储过程传递所有列（无论是否受影响）以及每列的旧数据值   **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                 |
| delete_stored_procedure  | 否    | String | **参数解释：** 删除存储过程。 **约束限制：** 删除交付格式填call_procedure或xcall_procedure时该项必填。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
#### 请求示例
创建发布订阅中的发布。
```
POST https://{Endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/72ee4cc4607347049df9ad50f615bbd8in04/replication/publications
{
"job_schedule": {
        "id": "c52c4f9f-e8b8-481a-a353-cc3d32ab875b",
        "job_schedule_type": "one_time",
        "one_time_occurrence": {
          "active_start_date": "2025-11-26",
          "active_start_time": "05:00:00"
        }
      },
      "tables": [
        {
          "table_name": "tab01",
          "schema": "dbo",
          "columns": [
            "id"
          ],
          "filter_statement": "",
          "primary_key": [
            "id"
          ]
        }
      ],
      "is_create_snapshot_immediately": true,
      "is_select_all_table": false,
      "extend_tables": [],
      "subscription_options": {
        "independent_agent": true,
        "snapshot_always_available": true,
        "replicate_ddl": true,
        "allow_initialize_from_backup": true
      },
      "publication_name": "testccc",
      "publication_database": "tab01"
}
```
#### 响应消息
- 正常响应要素说明
  表12要素说明 
  | 名称     | 参数类型   | 说明                                                                                                                                                                                                                |
  |:---|:---|:---|
  | job_id | String | **参数解释：** 任务流ID。 **取值范围：** 不涉及。 |
     
  

- 正常响应样例
  ```
  {
      "job_id":"12323-sdsf-sewewe-wewewewex1tg"
  }
  ```
  

- 异常响应 请参见[异常响应结果](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)。
