利用Python调用云API实现多地域同步创建TAT命令

自动化助手(TencentCloud Automation Tools,TAT)是云服务器的原生运维部署工具。TAT提供自动化的远程操作方式,可直接管理实例,批量执行 Shell,Powershell,Python等命令,轻松完成运行自动化运维脚本、轮询进程、安装或卸载软件、更新应用以及安装补丁等常见管理任务。

腾讯云轻量无忧计划 新老用户同享优惠 低至15元/月起 终身续费同价 更赠送一年顶级域名,并享长期续费优惠
(活动将于2021.12.31结束)
利用Python调用云API实现多地域同步创建TAT命令
0.准备工作
使用本代码请先进行子用户创建并授权云APITAT全部权限
请注意 为了保障您的账户以及云上资产的安全 请谨慎保管SecretId 与 SecretKey 并定期更新 删除无用权限
 
1.SDK下载
请确保Python版本为3.6+
查看Python版本
python3 -V
安装腾讯云Python SDK
pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python
2.代码部分

import base64,random,string
import json
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.tat.v20201028 import tat_client, models
# 默认为轻量应用服务器所支持的12个地域
aria = ['ap-beijing', 'ap-chengdu', 'ap-guangzhou', 'ap-hongkong', 'ap-shanghai', 'ap-singapore',
        'na-siliconvalley',
        'eu-moscow', 'ap-tokyo', 'ap-nanjing', 'ap-mumbai', 'eu-frankfurt']
# 此处填写你的"SecretId", "SecretKey"
cred = credential.Credential("SecretId", "SecretKey")
httpProfile = HttpProfile()
httpProfile.endpoint = "tat.tencentcloudapi.com"
# command
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
input('按回车开始输入命令,输入完毕输入:wq 按回车结束')
stopword = ':wq' # 输入停止符
string = ''
for line in iter(input, stopword):
  string += line + '\n'
# 将命令转为base64编码
encodestr = base64.b64encode(string.encode('utf-8'))
Content = str(encodestr, 'utf-8')
print(Content)
# 命令名称若不填写即随机填写8位字符串
CommandName = input('命令名称:')or ran_str
Description = input('命令描述:')
# 命令类型 默认为SHELL
CommandType = input('命令类型(SHELL、POWERSHELL):') or "SHELL"
Timeout = input('超时时间(默认60 取值范围[1, 86400])') or 60

clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
for i in range(12):
    client = tat_client.TatClient(cred, aria[i], clientProfile)
    try:
        req = models.CreateCommandRequest()
        params = {
            "CommandName": "{0}".format(CommandName),
            "Description": "{0}".format(Description),
            "Content": "{0}".format(Content),
            "CommandType": "{0}".format(CommandType),
            "Timeout": Timeout
        }
        req.from_json_string(json.dumps(params))

        resp = client.CreateCommand(req)
        print(resp.to_json_string())

    except TencentCloudSDKException as err:
        print(err)
3.若报错请前往文档中心查看错误码列表
https://cloud.tencent.com/document/api/1340/52694

本文来自开发者投稿,不代表腾讯云立场,转载请注明出处:https://computeinit.com/archives/7210

(0)
上一篇 2022年4月1日 21:19
下一篇 2022年4月1日 21:27

猜你喜欢

发表评论

登录后才能评论
交流群