更新时间:2025-12-02 GMT+08:00
分享

创建发布 - CreatePublication

功能介绍

创建发布。

调试

您可以在API Explorer中调试该接口。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

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

    约束限制:

    非空。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    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

参数解释:

发布数据表。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表3 subscription_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

表4 job_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为空时该参数必填。

表5 one_time_occurrence要素说明

名称

是否必选

参数类型

说明

active_start_date

Boolean

参数解释:

执行日期,格式:yyyy-MM-dd。

约束限制:

不涉及。

取值范围:

1990-01-01~2099-12-31

默认取值:

不涉及。

active_start_time

Boolean

参数解释:

执行时间,格式:HH:mm:ss。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表6 frequency要素说明

名称

是否必选

参数类型

说明

freq_type

String

参数解释:

策略频率类型。

约束限制:

不涉及。

取值范围:

  • daily:按天。
  • weekly:按周。
  • monthly_day:按月、每月按天。
  • monthly_week:按月、每月按周。

默认取值:

不涉及。

freq_interval

String

参数解释:

执行间隔。

约束限制:

不涉及。

取值范围:

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。

默认取值:

不涉及。

表7 daily_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:时。

默认取值:

不涉及。

表8 duration要素说明

名称

是否必选

参数类型

说明

active_start_date

String

参数解释:

第一次执行日期,格式:yyyy-MM-dd。

约束限制:

不涉及。

取值范围:

1990-01-01~2099-12-31

默认取值:

不涉及。

active_end_date

String

参数解释:

最后一次执行日期,不传时表示不会结束,格式:yyyy-MM-dd。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表9 tables要素说明

名称

是否必选

参数类型

说明

table_name

String

参数解释:

表名。

约束限制:

不涉及。

取值范围:

表名长度在1~64个字符之间,由字母、数字或下划线组成,不能包含其他特殊字符。

默认取值:

不涉及。

schema

String

参数解释:

schema名称。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

dbo

columns

Array of String

参数解释:

发布的字段。

约束限制:

未传或为空说明选择所有字段。

取值范围:

字段名称长度在1~64个字符之间,由字母、数字或下划线组成,不能包含其他特殊字符。

默认取值:

不涉及。

primary_key

Array of String

参数解释:

主键。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

filter_statement

String

参数解释:

筛选语句。

约束限制:

不能包含英文单引号 ' 。

取值范围:

不涉及。

默认取值:

不涉及。

filter

Object

参数解释:

筛选器。

详情请参见表10 filter要素说明

约束限制:

仅当筛选语句为空时生效,筛选语句和筛选器都为空时说明没有筛选条件。

article_properties

Object

参数解释:

项目属性。

详情请参见表11 article_properties要素说明

约束限制:

不涉及。

表10 filter要素说明

名称

是否必选

参数类型

说明

relation

String

参数解释:

筛选关系。为空时表示当前为最下级筛选器,不为空时表示当前项还有下级筛选器。

约束限制:

不涉及。

取值范围:

不为空时取值范围:AND,OR。

默认取值:

不涉及。

column

String

参数解释:

筛选字段。

约束限制:

仅当筛选关系为空时生效,且筛选关系为空时必传。

取值范围:

不涉及。

默认取值:

不涉及。

condition

String

参数解释:

筛选条件。

约束限制:

仅当筛选关系为空时生效,且筛选关系为空时必传。

取值范围:

=, !=, >, <, >=, <=, LIKE, NOT LIKE, IN。

默认取值:

不涉及。

value

String

参数解释:

筛选值。

约束限制:

仅当筛选关系为空时生效,且筛选关系为空时必传。

取值范围:

不涉及。

默认取值:

不涉及。

filters

Array of Object

参数解释:

下级筛选器。

详情请参见表10 filter要素说明

约束限制:

仅当筛选关系不为空时生效,且筛选关系不为空时必传。

表11 article_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时该项必填。

取值范围:

不涉及。

默认取值:

不涉及。

请求示例

创建发布订阅中的分发服务器。
PUT https://{Endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/72ee4cc4607347049df9ad50f615bbd8in04/replication/publications
{
"job_schedule": {
        "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_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"
    }
    

状态码

错误码

请参见错误码

相关文档