前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CVM使用API批量升级机型

CVM使用API批量升级机型

原创
作者头像
vic@TX
修改于 2023-05-09 11:30:15
修改于 2023-05-09 11:30:15
46700
代码可运行
举报
运行总次数:0
代码可运行

一、使用场景

如果有多台CVM需批量修改配置或升级机型,可以调用API来实现,API文档:云服务器 调整实例配置-实例相关接口-API 中心-腾讯云

本文以Python为例,提供脚本示例实现批量修改CVM配置或升级机型。

二、环境准备

1、安装python(2.7或3.0以上版本都可以);

2、安装腾讯云最新SDK(需最新SDK才支持回退接口):

pip install tencentcloud-sdk-python

或pip3 install tencentcloud-sdk-python

三、操作步骤

1、准备待迁移实例列表

按照如下格式整理成csv表格(填写实例名、id、目标机型),目标机型可参考:云服务器 实例规格-产品简介-文档中心-腾讯云

2、准备迁移脚本

修改API密钥

修改目标实例所在地域,参考:云服务器 地域和可用区-产品简介-文档中心-腾讯云

从csv表格中读取实例id、目标机型等参数:

调接口:

四、脚本示例(python,供参考)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
# Copyright 2017-2021 Tencent Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import os
import json
from re import A
import sys
import csv
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.cvm.v20170312 import cvm_client, models
try:
    # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
    # 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
    cred = credential.Credential("xxxx", "xxxx")
    # 实例化一个http选项,可选的,没有特殊需求可以跳过
    httpProfile = HttpProfile()
    httpProfile.endpoint = "cvm.tencentcloudapi.com"

    # 实例化一个client选项,可选的,没有特殊需求可以跳过
    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    # 实例化要请求产品的client对象,clientProfile是可选的,地域修改为实例所在地域,参考:https://cloud.tencent.com/document/product/213/6091
    client = cvm_client.CvmClient(cred, "ap-xxx", clientProfile)

except TencentCloudSDKException as err:
    print(err)


if __name__ == '__main__':
    #读取csv文件中的实例id、目标机型等信息
    with open("/Users/vicjiang/Desktop/cvm_list.csv",encoding="utf-8",mode="r") as f:
        reader = csv.DictReader(f)
        for row in reader:
            print(row["ID"],row["目标机型"])    
    # 实例化一个请求对象,每个接口都会对应一个request对象
            req = models.ResetInstancesTypeRequest()
            params = {
                "InstanceIds": [row["ID"]],
                "InstanceType": row["目标机型"],
                }
            req.from_json_string(json.dumps(params))

            # 返回的resp是一个ModifyInstancesVpcAttributeResponse的实例,与请求对象对应
            resp = client.ResetInstancesType(req)
            # 输出json格式的字符串回包
            print(resp.to_json_string())
            # 加1秒等待时间,每秒切换1台
            time.sleep( 1 )

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
Mac下MySQL的my.cnf配置文件在哪
无论是homebrew等方式,在Mac下都是不会生成my.cnf文件,因为已经使用了最优默认值,如果需要也可以自行新建或配置/etc/my.cnf
JaneYork
2023/10/11
2.9K0
Mac下MySQL的my.cnf配置文件在哪
MySQL 8.0如何配置my.cnf
[mysqld] #Mysql服务的唯一编号 每个mysql服务Id需唯一 server-id = 1 #服务端口号 默认3306 port = 3306 #mysql安装根目录 basedir = /usr/local/mysql #mysql数据文件所在位置 datadir = /usr/local/mysql/data #pid pid-file = /usr/local/mysql/mysql.pid #设置socke文件所在目录 socket = /tmp/mysql.sock #设置
程序员云帆哥
2022/05/12
2.2K0
CentOS系统MySQL的配置文件my.cnf
这篇文章主要内容是前文《2015博客升级记(四):CentOS 7.1编译安装MySQL5.7.7rc》提到的MySQL的配置文件my.cnf。
typecodes
2024/03/29
3110
Linux下的mysql之my.cnf常用配置
[client] #password = your_password port = 3306 socket = /usr/local/mysql/tmp/mysql.sock default-character-set=utf8 [mysqld] port = 3306 socket = /usr/local/mysql/tmp/mysql.sock pid-file = /usr/local/mysql/tmp/mysql.pid basedir
硅谷子
2020/12/04
3.3K0
Linux下的mysql之my.cnf常用配置
Mac上安装Mysql配置文件的添加及修改配置文件
Mysql默认安装在/usr/local目录下,这个目录可以通过command+shift+G进入:
全栈程序员站长
2022/09/05
5.1K0
Mac上安装Mysql配置文件的添加及修改配置文件
【详解】MySQL8.xmy.cnf文件配置
​​my.cnf​​ 文件是 MySQL 数据库的重要配置文件之一,它包含了 MySQL 服务器的启动参数和运行时配置。正确地配置 ​​my.cnf​​ 文件可以显著提升数据库的性能、稳定性和安全性。本文将详细介绍 MySQL 8.x 版本中 ​​my.cnf​​ 文件的基本结构、常见配置项及其作用。
大盘鸡拌面
2025/01/11
6380
Mac下vscode中mysql源码调试环境搭建
3、在解压后的mysql-8.0.33文件夹创建vscode的配置文件夹.vscode,并配置settings.json和launch.json
DBA札记
2023/08/04
7210
Mac下vscode中mysql源码调试环境搭建
mysql主从复制
由于我这里使用docker搭建,所以需要把配置文件和数据文件映射到宿主机,让容器运行时挂载数据
earthchen
2020/09/24
1K0
Linux CentOS 7下启动、关闭、重启、查看MySQL服务
Linux CentOS 7下启动、关闭、重启、查看MySQL服务 启动命令 关闭命令 重启命令 查看服务状态 查看MySql系统配置 启动命令 service mysqld start [root@VM_0_16_centos ~]# service mysqld start Starting MySQL.. [ OK ] 关闭命令 service mysqld stop [root@VM_0_16_centos ~
煎饼
2022/12/13
11.8K0
MySQL配置参数
一部分参数配置 vim /etc/my.cnf [client] port=3306 socket=/var/lib/mysql/mysql.sock default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 prompt="\u@mysqldb \R:\m:\s [\d]>" no-auto-rehash [mysqld] use=mysql port=3306 socket=/var/lib/mysql/mysql.so
陳斯托洛夫斯記
2022/10/27
2.4K0
mysql 安装5.7
##在CentOS7中编译安装MySQL 5.7.21. 依赖和源码包 安装相关的依赖:
匿名用户的日记
2021/12/14
7750
# client配置项
MySQL配置参数多达数百个,不过常用的并不多,很多配置我们不需要关心,只要掌握一些必要的配置项就能解决99%的问题,当遇见了那1%的问题时mysql可能已经不能满足你的需求了。
用户1175783
2020/05/09
7640
使用Docker容器搭建MySql主从复制
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhiqiang0316/article/details/79249271
林老师带你学编程
2019/05/25
8090
Mysql配置详解
一、安装 1、docker 安装 DOCKER_NAME=mysql MYSQL_ROOT_PASSWORD=78Jikbfz6zKYfPjC # 创建挂载目录 mkdir -p /data/$DOCKER_NAME mkdir -p /data/$DOCKER_NAME/conf mkdir -p /data/$DOCKER_NAME/data mkdir -p /data/$DOCKER_NAME/sql # 编写初始化sql vi /data/$DOCKER_NAME/sql/init.sql
IT小马哥
2021/03/02
1.5K0
MySQL之my.cnf文件常用参数
MySQL的配置文件,想必大家都不陌生,今天再来说说配置文件中的一些常用配置,并非最合理的配置,仅供参考,只有了解自己的生产环境,才能根据环境找到最适合你的配置文件参数。
AsiaYe
2020/01/15
2.7K0
MySQL之my.cnf文件常用参数
mysql启动多个实例
机器环境:CentOS Linux release 7.4.1708 (Core)
dogfei
2020/07/31
3.7K0
MySQL5.5 my.cnf配置参考
主要配置参数转载自: http://www.linuxyw.com/a/shujuku/20130506/216.html
保持热爱奔赴山海
2019/09/18
1.4K0
mysql 8本地源码安装注意事项
yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel
算法之名
2019/08/20
7300
MySQL单机多实例的配置笔记
    CentOS6.7x86_64【2.6.32-573.el6.x86_64】
保持热爱奔赴山海
2019/09/18
1.4K0
docker封装mysql镜像
一、概述 直接使用官方的镜像 docker pull mysql:5.7 但是mysqld.cnf并没有优化,还是默认的。 二、封装镜像 创建目录 # dockerfile目录 mkdir -p /opt/dockerfile/mysql # 持久化目录 mkdir -p /data/mysql/data /opt/dockerfile/mysql 目录结构如下: ./ ├── dockerfile ├── mysqld.cnf └── run.sh dockerfile FROM mysql:5.7 AD
py3study
2020/03/17
1.7K0
相关推荐
Mac下MySQL的my.cnf配置文件在哪
更多 >
LV.4
这个人很懒,什么都没有留下~
目录
  • 一、使用场景
  • 二、环境准备
  • 三、操作步骤
    • 1、准备待迁移实例列表
    • 2、准备迁移脚本
      • 修改API密钥
      • 修改目标实例所在地域,参考:云服务器 地域和可用区-产品简介-文档中心-腾讯云
      • 从csv表格中读取实例id、目标机型等参数:
      • 调接口:
  • 四、脚本示例(python,供参考)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档