基础网络CDB切换到私有网络,有两种方式:
1、在控制台修改切换网络(单次修改1台),可配置原ip保留168小时:云数据库 MySQL 切换网络-操作指南-文档中心-腾讯云
2、通过API切换网络(单次修改1台):云数据库 MySQL 修改云数据库实例的IP和端口号-API 文档-文档中心-腾讯云
本文以python为例,介绍使用腾讯云SDK来批量切换基础网络CDB到私有网络的方法。
1、安装python(2.7或3.0以上版本都可以);
2、安装腾讯云最新SDK:
pip install tencentcloud-sdk-python
或pip3 install tencentcloud-sdk-python
从控制台筛选导出实例信息
修改API密钥
修改目标实例所在地域,参考:云服务器 地域和可用区-产品简介-文档中心-腾讯云
从csv表格中读取实例id、内网ip、目标vpc、目标子网等参数:
调切换接口从基础网络切换到私有网络:
import os
from re import A
import sys
import csv
import json
import time
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cdb.v20170320 import cdb_client, models
try:
# 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
# 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
cred = credential.Credential("AKIxxxx", "dChxxx")
# 实例化一个http选项,可选的,没有特殊需求可以跳过
httpProfile = HttpProfile()
httpProfile.endpoint = "cdb.tencentcloudapi.com"
# 实例化一个client选项,可选的,没有特殊需求可以跳过
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
# 实例化要请求产品的client对象,clientProfile是可选的
client = cdb_client.CdbClient(cred, "ap-guangzhou", clientProfile)
except TencentCloudSDKException as err:
print(err)
if __name__ == '__main__':
#读取csv文件中的实例id、内网ip等信息
with open("/Users/vicjiang/Desktop/cdb_list.csv",encoding="utf-8",mode="r") as f:
reader = csv.DictReader(f)
for row in reader:
print(row["实例ID"],row["内网 IP"],row["目标VPC"],row["目标子网"])
# 实例化一个请求对象,每个接口都会对应一个request对象
req = models.ModifyDBInstanceVipVportRequest()
params = {
"InstanceId": row["实例ID"],
"DstIp": row["内网 IP"],
"UniqVpcId": row["目标VPC"],
"UniqSubnetId": row["目标子网"],
# 保留基础网络ip 168小时(7天)
"ReleaseDuration": 168
}
req.from_json_string(json.dumps(params))
# 返回的resp是一个ModifyDBInstanceVipVportResponse的实例,与请求对象对应
resp = client.ModifyDBInstanceVipVport(req)
# 输出json格式的字符串回包
print(resp.to_json_string())
# 加1秒等待时间,每秒切换1台
time.sleep( 1 )
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。