更新时间:2025-10-28 GMT+08:00
分享

创建订阅

功能介绍

在指定实例中创建订阅。

调试

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

URI

  • URI格式

    POST /v3/{project_id}/instances/{instance_id}/replication/subscriptions

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    project_id

    参数解释:

    租户在某一region下的project ID。

    获取方法请参见获取项目ID

    约束限制:

    非空。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    instance_id

    参数解释:

    实例ID。

    约束限制:

    非空。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

请求消息

  • 参数说明
    表2 参数说明

    名称

    是否必选

    参数类型

    说明

    subscriptions

    Array of objects

    参数解释:

    订阅详情。

    详情请参见表3

    约束限制:

    一次最多创建十个订阅。

    current_publication_id

    String

    参数解释:

    给发布创建订阅时的发布ID。

    约束限制:

    给发布创建订阅时必传,不传时则为创建本地订阅。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    表3 subscriptions元素结构说明

    名称

    是否必选

    参数类型

    说明

    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

    约束限制:

    创建本地订阅时必传。

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

    表5 one_time_occurrence元素结构说明

    名称

    是否必选

    参数类型

    说明

    active_start_date

    String

    参数解释:

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

    约束限制:

    不涉及。

    取值范围:

    1990-01-01~2099-12-31

    默认取值:

    不涉及。

    active_start_time

    String

    参数解释:

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

    约束限制:

    不涉及。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    表6 frequency元素结构说明

    名称

    是否必选

    参数类型

    说明

    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。

    默认取值:

    不涉及。

    表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 initialize_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

    参数解释:

    是否使用备份文件对订阅库进行覆盖还原。

    约束限制:

    不涉及。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    表10 publication_subscription元素结构说明

    名称

    是否必选

    参数类型

    说明

    subscription_instance_id

    String

    参数解释:

    订阅服务器来源为云上实例时的订阅实例ID。

    约束限制:

    不涉及。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    user_info

    Object

    参数解释:

    订阅服务器为非云上实例时的登录信息(仅当订阅实例ID为空时生效)。

    详情请参见表11

    约束限制:

    不涉及。

    表11 user_info元素结构说明

    名称

    是否必选

    参数类型

    说明

    server_ip

    String

    参数解释:

    服务器IP。

    约束限制:

    不涉及。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    server_port

    Integer

    参数解释:

    端口号。

    约束限制:

    不涉及。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    server_name

    String

    参数解释:

    服务器名称。

    约束限制:

    不涉及。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    login_user_name

    String

    参数解释:

    登录名。

    约束限制:

    不涉及。

    取值范围:

    不涉及。

    默认取值:

    不涉及。

    login_user_password

    String

    参数解释:

    登录密码。

    约束限制:

    不涉及。

    取值范围:

    长度在5~64位之间。

    默认取值:

    不涉及。

    表12 local_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"
    }
  • 异常响应

    请参见异常请求结果

状态码

错误码

请参见错误码

相关文档