Python版api实现灾备同步的例子

### 灾备数据同步:
| API        | 描述   | 
| --------   | -----  | 
|	CreateSyncCheckJob	|	校验灾备同步任务|
|	CreateSyncJob	|	创建灾备同步任务|
|	DeleteSyncJob	|	删除灾备同步任务|
|	DescribeSyncCheckJob	|	查询灾备同步任务校验结果|
|	DescribeSyncJobs	|	查询在迁移平台发起的灾备同步任务|
|	ModifySyncJob	|	修改灾备同步任务|
|	StartSyncJob	|	开始灾备同步任务|
|	StopMigrateJob	|	撤销数据迁移任务|
|	SwitchDrToMaster	|	灾备升级为主实例|

####demo如下:
```python

# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
# 导入对应产品模块的client models。
from tencentcloud.dts.v20180330 import dts_client, models

def returnClient():
    cred = credential.Credential("xxx", "xxx")
    client = dts_client.DtsClient(cred, "ap-guangzhou")
    return client


def DescribeMigrateCheckJobTask(client,jobid):
    try:
        req = models.DescribeMigrateCheckJobRequest()
        params = '''{
            "Region": "ap-guangzhou-2",
            "JobId": "%s"
        }''' %(jobid)
        req.from_json_string(params)
        resp = client.DescribeMigrateCheckJob(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)

def StopMigrateJobTask(client,jobid):
    try:
        req = models.StopMigrateJobRequest()
        params = '''{
            "Region": "ap-shanghai",
            "JobId": "%s"
        }''' %(jobid)
        req.from_json_string(params)
        resp = client.StopMigrateJob(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)

def DescribeMigrateJobsTask(client,jobid):
    try:
        req = models.DescribeMigrateJobsRequest()
        params = '''{
            "Region": "ap-guangzhou-2",
            "JobId": "%s"
        }''' %(jobid)
        req.from_json_string(params)
        resp = client.DescribeMigrateJobs(req)
        print eval(resp.to_json_string())
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)

def StartMigrateJobTask(client,jobid):
    try:
        req = models.StartMigrateJobRequest()
        params = '''{
            "Region": "ap-guangzhou-2",
            "JobName": "%s"
        }''' %(jobid)
        req.from_json_string(params)
        resp = client.StartMigrateJob(req)
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)


def CreateSyncJobTask(client,drjobname):
    try:
        req = models.CreateSyncJobRequest()
        params = '''{
            "Region": "ap-shanghai",
            "JobName": "%s",
            "SyncOption" : {"SyncObject":1},
            "SrcDatabaseType" : "mysql",
            "SrcAccessType" : "cdb",
            "SrcInfo" : {"Region":"ap-shanghai","InstanceId":"cdb-7ghaiocc"},
            "DstDatabaseType" : "mysql",
            "DstAccessType" : "cdb",
            "DstInfo" : {"Region":"ap-beijing","InstanceId":"cdb-58vafloq"}
        }'''%(drjobname)
        req.from_json_string(params)
        resp = client.CreateSyncJob(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)

def CreateSyncCheckJobTask(client,jobidrd):
    try:
        req = models.CreateSyncCheckJobRequest()
        params = '''{
            "Region": "ap-shanghai",
            "JobId": "%s"
        }''' %(jobidrd)
        req.from_json_string(params)
        print params
        resp = client.CreateSyncCheckJob(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)


def DescribeSyncCheckJobTask(client,jobidrd):
    try:
        req = models.DescribeSyncCheckJobRequest()
        params = '''{
            "Region": "ap-guangzhou",
            "JobId": "%s"
        }''' %(jobidrd)
        req.from_json_string(params)
        resp = client.DescribeSyncCheckJob(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)



def StartSyncJobTask(client,jobid):
    try:
        req = models.StartSyncJobRequest()
        params = '''{
            "Region": "ap-shanghai",
            "JobId": "%s"
        }''' %(jobid)
        req.from_json_string(params)
        resp = client.StartSyncJob(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)

def DescribeSyncJobsTask(client,jobidrd):
    try:
        req = models.DescribeSyncJobsRequest()
        params = '''{
            "Region": "ap-guangzhou-2",
            "JobId": "%s"
        }''' %(jobidrd)
        req.from_json_string(params)
        resp = client.DescribeSyncJobs(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)

def ModifySyncJobTask(client,jobidrd):
    try:
        req = models.ModifySyncJobRequest()
        params = '''{
            "Region": "ap-beijing",
            "JobId": "%s",
            "JobName" : "aaaaa"
        }''' %(jobidrd)
        req.from_json_string(params)
        resp = client.ModifySyncJob(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)


def DeleteSyncJobTask(client,jobidrd):
    try:
        req = models.DeleteSyncJobRequest()
        params = '''{
            "Region": "ap-guangzhou",
            "JobId": "%s"
        }''' %(jobidrd)
        req.from_json_string(params)
        resp = client.DeleteSyncJob(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)



def SwitchDrToMasterTask(client,InstanceId):
    try:
        req = models.SwitchDrToMasterRequest()
        params = '''{
            "Region": "ap-beijing",
            "DstInfo" : {"Region":"ap-beijing","InstanceId":"%s"},
            "DatabaseType" : "mysql"
        }'''%(InstanceId)
        req.from_json_string(params)
        resp = client.SwitchDrToMaster(req)
        print resp
        return eval(resp.to_json_string())
    except TencentCloudSDKException as err:
        print(err)



if __name__ == '__main__':
        client = returnClient()
        
        '''灾备同步任务'''
        #drjobname = "58vafloq_dr_job"
        #CreateSyncJobTask(client,drjobname)
        #jobidrd = "sync-axip2d8l"
        #ModifySyncJobTask(client,jobidrd)
        #CreateSyncCheckJobTask(client,jobidrd)
        #DescribeSyncCheckJobTask(client,jobidrd)
        #DescribeSyncJobsTask(client,jobidrd)
        #jobid = "sync-axip2d8l"
        #StartSyncJobTask(client,jobid)
        #DeleteSyncJobTask(client,jobidrd)
        #StopMigrateJobTask(client,jobid)
        InstanceId = "cdb-imcoa0ng"
        SwitchDrToMasterTask(client,InstanceId)

```

猜你喜欢

转载自blog.csdn.net/mchdba/article/details/82833915