
# 修改发布 - ModifyPublication
#### 功能介绍
修改发布信息。
- 调用接口前，您需要了解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://console.huaweicloud.com/apiexplorer/#/openapi/RDS/doc?api=ModifyPublication)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                 | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名                  | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| rds:instance:update | write | -           | -   | rds:instance:modify | -      |
   
#### URI
- URI格式 PUT /v3/{project_id}/instances/{instance_id}/replication/publications/{publication_id}
  

- 参数说明
  表1参数说明 
  | 名称             | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | project_id     | 是    | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 非空。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
  | instance_id    | 是    | **参数解释：** 实例ID。 **约束限制：** 非空。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                            |
  | publication_id | 是    | **参数解释：** 发布ID。 **约束限制：** 非空。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                          |
     
  
 
#### 请求消息
- 参数说明
  表2参数说明 
  | 参数                   | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  |:---|:---|:---|:---|
  | subscription_options | 否    | Object           | **参数解释：** 订阅选项。 详情请参见[表3]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                  |
  | job_schedule         | 否    | Object           | **参数解释：** 快照策略。 详情请参见[表4]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                      |
  | is_select_all_table  | 否    | Boolean          | **参数解释：** 是否选择所有数据表。 **约束限制：** 不涉及。 **取值范围：** - true：选择。  - false：不选择。   **默认取值：** 不涉及。 |
  | extend_tables        | 否    | Array of strings | **参数解释：** 全选所有表后需要去除的表。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                        |
  | 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]。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | 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。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。         |
     
   表9tables元素结构说明 
  | 名称                 | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  |:---|:---|:---|:---|
  | table_name         | 是    | String           | **参数解释：** 表名。 **约束限制：** 不涉及。 **取值范围：** 表名长度在1～64个字符之间，由字母、数字或下划线组成，不能包含其他特殊字符。 **默认取值：** 不涉及。                                |
  | schema             | 否    | String           | **参数解释：** 命名空间。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** dbo                                                               |
  | columns            | 否    | Array of strings | **参数解释：** 发布的字段。 **约束限制：** 未传（null）或为空 \[\] ，表示选择所有字段。 **取值范围：** 字段名称长度在1～64个字符之间，由字母、数字或下划线组成，不能包含其他特殊字符。 **默认取值：** 不涉及。 |
  | primary_key        | 否    | Array of strings | **参数解释：** 主键。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                    |
  | filter_statement   | 否    | String           | **参数解释：** 筛选语句。 **约束限制：** 不能包含英文单引号 ' 。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                          |
  | filter             | 否    | Object           | **参数解释：** 筛选器。 详情请参见[表10]。 **约束限制：** 仅当筛选语句为空时生效，筛选语句和筛选器都为空时说明没有筛选条件。                                                                                                                                                                         |
  | article_properties | 否    | Object           | **参数解释：** 项目属性。 详情请参见[表11]。 **约束限制：** 不涉及。                                                                                                                                                                                                  |
     
   表10filter元素结构说明 
  | 名称        | 是否必选 | 参数类型             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  |:---|:---|:---|:---|
  | relation  | 否    | String           | **参数解释：** 筛选关系。为空时表示当前为最下级筛选器，不为空时表示当前项还有下级筛选器。 **约束限制：** 不涉及。 **取值范围：** 不为空时取值范围：AND，OR。 **默认取值：** 不涉及。           |
  | column    | 否    | String           | **参数解释：** 筛选字段。 **约束限制：** 仅当筛选关系为空时生效，且筛选关系为空时必传。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                        |
  | condition | 否    | String           | **参数解释：** 筛选条件。 **约束限制：** 仅当筛选关系为空时生效，且筛选关系为空时必传。 **取值范围：** =, !=, \>, \<, \>=, \<=, LIKE, NOT LIKE, IN。 **默认取值：** 不涉及。 |
  | value     | 否    | String           | **参数解释：** 筛选值。 **约束限制：** 仅当筛选关系为空时生效，且筛选关系为空时必传。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                        |
  | filters   | 否    | Array of objects | **参数解释：** 下级筛选器。 详情请参见[表10]。 **约束限制：** 仅当筛选关系不为空时生效，且筛选关系不为空时必传。                                                                                                                                                                        |
     
   表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时该项必填。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     
  
- URI样例 PUT https://rds.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/3d39c18788b54a919bab633874c159dfin04/replication/publications/7be09cc4-c269-4f3a-9539-aaf2b40d79a0
  
- 请求样例
  ```
  {
      "job_schedule": {
          "id": "801c7c43-e083-46a5-a472-331b3282ba0f",
          "frequency": {
          },
          "daily_frequency": {
          },
          "duration": {
          },
          "job_schedule_type": "one_time",
          "one_time_occurrence": {
              "active_start_date": "2025-10-10",
              "active_start_time": "05:00:00"
          }
      },
      "tables": [
          {
              "table_name": "tab02",
              "schema": "dbo",
              "columns": [
                  "id"
              ],
              "filter_statement": "",
              "article_properties": {
                  "destination_object_name": "tab02",
                  "destination_object_owner": "dbo",
                  "insert_delivery_format": "call_procedure",
                  "insert_stored_procedure": "sp_MSins_dbotab02",
                  "update_delivery_format": "scall_procedure",
                  "update_stored_procedure": "sp_MSupd_dbotab02",
                  "delete_delivery_format": "call_procedure",
                  "delete_stored_procedure": "sp_MSdel_dbotab02"
              },
              "primary_key": [
                  "id"
              ]
          }
      ],
      "is_select_all_table": false,
      "extend_tables": [
      ],
      "subscription_options": {
          "independent_agent": true,
          "snapshot_always_available": true,
          "replicate_ddl": true,
          "allow_initialize_from_backup": true
      }
  }
  ```
  
 
#### 响应消息
- 正常响应要素说明
  表12响应Body参数 
  | 参数     | 参数类型   | 描述                                                                                                                                                                                                          |
  |:---|:---|:---|
  | job_id | String | **参数解释：** 任务ID。 **取值范围：** 不涉及。 |
     
  
- 正常响应样例
  ```
  { 
    "job_id" : "7be09cc4-c269-4f3a-9539-aaf2b40d79a0" 
  }
  ```
  
- 异常响应 请参见[异常响应结果](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)。
