文档首页> > API参考> API说明> 备份迁移任务> 创建备份迁移任务

创建备份迁移任务

更新时间: 2018-12-03 21:21

功能介绍

提交备份迁移任务。

URI

  • URI格式

    PATH:/{version_id}/{project_id}/replication_task

    Method:POST

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    version_id

    API版本号,区分大小写,取值:v2.0。

    project_id

    租户在某一region下的project id。

  • Header说明
    表2 Header说明

    名称

    是否必选

    说明

    X-Auth-Token

    从IAM服务获取的用户Token。

    X-Language

    请求语言类型,示例:en-us,不区分大小写。

    Content-Type

    指定类型为application/json。

  • 请求样例
    /v2.0/0002c3790b874a678c2022d69341ab6a/replication_task

请求

  • 要素说明
    表3 要素说明

    名称

    是否必选

    参数类型

    说明

    source

    String

    备份文件来源。

    engine

    String

    sqlserver。

    name

    String

    下发的任务名称。

    在4位到64位之间,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。

    description

    String

    任务描述。

    描述不能超过256位,且不能包含!<>&'"\特殊字符。

    instance_id

    String

    目标库实例ID。

    登录数据库 > 关系型数据库控制台,在“实例管理”页面,选择目标RDS实例,单击实例名称,在“基本信息”页签下查看实例ID 。

    backup

    字典数据结构,请参见表4

    备份文件信息。

    db_names

    List<String>

    数据库名称。

    不能超过128位,不能包含!<>&'"\特殊字符。

    是备份文件中的包含的数据库名称,可以选择恢复一个或者多个数据库。示例:

    ["user01",

    "user02",

    "user03"]

    options

    字典数据结构,请参见表5 options字段结构说明

    恢复还原数据库的参数信息。

    表4 backup字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    file_source

    String

    备份文件来源:(全部大写)

    • OBS:存放在OBS中的备份文件。
    • RDS:RDS实例的备份文件。

    bucket_name

    String

    桶名称。

    长度范围为3~63个字符,仅支持小写字母、数字、中划线(-)、点(.),只能以字母或数字开头和结尾,禁止使用IP地址。

    如果选择从OBS桶获取备份文件必填, 参考登录客户端登录OBS Browser客户端,首页为OBS桶列表,可以获取到备份文件所在桶的名称。

    files

    字典数据结构,请参见表5 options字段结构说明

    文件信息。

    表5 options字段结构说明

    名称

    是否必选

    参数类型

    说明

    cover

    String

    是否覆盖目标数据库。

    • 值为“true”表示覆盖。
    • 值为“false”表示不覆盖。

    recovery_mode

    String

    恢复模式:

    • “1”表示全量迁移。
    • “2”表示增量迁移 。

    is_default_restore

    String

    是否默认恢复:

    • “true”是代表默认恢复还原备份文件中的全部数据库。
    • “false”代表需要在db_names这个字段中指定需要恢复的数据库名。

    is_last_backup

    String

    一次典型的增量恢复过程,会涉及多次恢复增量备份。每个增量备份恢复均会使目标数据库保持还原中状态,此时数据库不可读写,直至最后一个增量备份恢复完成后,数据库才能变成可用状态。此后数据库将无法继续进行增量恢复,所以确定为最后一个备份的场景有:

    • 一次性全量迁移,后续将不再进行增量恢复时,设置该字段值为“true”。
    • 增量恢复流程中,确定为最后割接阶段的最后一个增量备份时,设置该字段值为“true”。

    reset_db_name_map

    Map

    该字段为一个map,目前使用格式key是"",value是新数据库名字。

    该功能将忽略备份文件中原有的数据库名,通过DRS将其恢复为指定的新数据库名。

    使用条件:

    • 备份文件中只有一个数据库。
    • 备份文件是全量备份类型(待恢复备份类型选择:全量备份),且是一次性恢复(最后一个备份选择:是)。
    表6 files字段结构说明

    名称

    是否必选

    参数类型

    说明

    name

    String

    带后缀的备份文件名。

    path

    String

    备份文件路径。

    • 如果是根目录,就按照””填写。
    • 如果不是根目录,就按照"path": "floder/"这种格式进行填写。
  • 请求样例——OBS桶备份文件进行全量迁移
    /v2.0/0002c3790b874a678c2022d69341ab6a/replication_task  
    {
        "source": "obs",
        "engine": "sqlserver",
        "name": "migration", 
        "description": "desc", 
        "instance_id ": "0e72f081-c409-4414-9b47-255d9d82c2f", 
        "backup": {
            "file_source": "OBS", 
            "bucket_name":"obs-drs-sqlserver",  
               "files": [{
                      "name": "sqlserver-0180223082206489.bak",
                      "path": ""
               }]
        },
        "options": {
               "cover": "true",
               "recovery_mode": "1",
               "is_default_restore": "true",
               "is_last_backup": "true",
               "reset_db_name_map": {
                      "": "newDbName"
                    }
        },
        "db_names": [""]
    }
  • 请求样例——OBS桶备份文件进行全量+增量迁移
    说明:

    首先进行一次全量迁移,is_last_backup选择“false”。

    /v2.0/0002c3790b874a678c2022d69341ab6a/replication_task  
    {
        "source": "obs",
        "engine": "sqlserver",
        "name": "migration-5be2",
        "description": "",
        "instance_id": "277d6ebca3f142ad84e6ac18516169d2in04",
        "backup": {
               "file_source": "OBS",
               "bucket_name": "mssql-backup",
               "files": [{
                      "name": "ims.bak",
                      "path": "floder/"
               }]
        },
        "options": {
               "cover": "true",
               "recovery_mode": "1",
               "is_default_restore": "true",
               "is_last_backup": "false"
        },
        "db_names": [""]
    }
  • 请求样例——OBS桶备份文件进行全量+增量迁移
    说明:

    全量迁移完成后,然后可进行第一次增量迁移。如果不止一个增量备份文件,is_last_backup依然选择“false”。

    /v2.0/0002c3790b874a678c2022d69341ab6a/replication_task  
    {
        "source": "obs",
        "engine": "sqlserver",
        "name": "migration-6527",
        "description": "",
        "instance_id": "277d6ebca3f142ad84e6ac18516169d2in04",
        "backup": {
               "file_source": "OBS",
               "bucket_name": "mssql-backup",
               "files": [{
                      "name": "ims_log1.bak",
                      "path": "floder/"
               }]
        },
        "options": {
               "cover": "true"
               "recovery_mode": "2",
               "is_default_restore": "true",
               "is_last_backup": "false"
        },
        "db_names": [""]
    }
  • 请求样例——OBS桶备份文件进行全量+增量迁移
    说明:

    然后可进行下一次增量迁移,如果是最后一个增量备份文件,is_last_backup选择“true”。

    /v2.0/0002c3790b874a678c2022d69341ab6a/replication_task  {
        "source": "obs",
        "engine": "sqlserver",
        "name": "migration-3e84",
        "description": "",
        "instance_id": "277d6ebca3f142ad84e6ac18516169d2in04",
        "backup": {
               "file_source": "OBS",
               "bucket_name": "mssql-backup",
               "files": [{
                      "name": "ims_log2.bak",
                      "path": "floder/"
               }]
        },
        "options": {
               "cover": "true",
               "recovery_mode": "2",
               "is_default_restore": "true",
               "is_last_backup": "true"
        },
        "db_names": [""]
    }
  • 请求样例——RDS备份文件迁移
    /v2.0/0002c3790b874a678c2022d69341ab6a/replication_task 
     {
        "source": "rds",
        "engine": "sqlserver",
        "name": "migration-d3f2",
        "description": "",
        "instance_id": "277d6ebca3f142ad84e6ac18516169d2in04",
        "backup": {
               "file_source": "RDS",
               "files": [{
                      "name": "e11f5fcbb25d45e7a21415dc4f198022br04",
                      "path": ""
               }]
        },
        "options": {
               "cover": "false"
        },
        "db_names": ["ims", "Test"]
    }

正常响应

  • 要素说明
    表7 要素说明

    名称

    参数类型

    说明

    task_id

    String

    任务ID。

  • 响应样例
    {"task_id": "7e45307c-83da-464f-aa74-7a2fa7fef6f3"  }

异常响应

请参见异常请求结果

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

在文档使用中是否遇到以下问题







请至少选择或填写一项反馈信息

字符长度不能超过100

反馈内容不能为空!

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区
点我,12·12惊喜等着你哦~