腾讯云API弹性公网IP踩坑
由于自己管理的云服务器数量比较多,时不时需要更换IP,在管理台上一下下点击,实在浪费时间,于是就想到了通过API调用的方式,将更换IP一系列动作,全部集成到Python代码里面,实现一行命令,完成IP更换,由于人懒,就先
把最核心的代码(虽然都是腾讯云生成的)、流程、坑点贴出来,仅供菜鸟参考,高手无视!已先在腾讯云社区编辑发布,请管理员勿认为是转载!
具体步骤:
一 进入 https://cloud.tencent.com/document/api ,
页面左侧列表查找“私有网络”---“弹性公网相关接口”,就可以看到对应接口的文档了
二 选择一个接口,然后点击“API 3.0 Exploper”,进入到开发者工具页面,
坑点一:下面代码,对于菜鸟来说,引入的相关模块直接用“pip install 对应模块名”会报错
看第一张图sdk,相关语言sdk,点击就可以看到github上各语言的库引用方式
三 直接copy开发者工具上的代码,当然你也可以看下图代码
坑点二:"SecretId ","SecretKey" 这两个值是你调用API,腾讯用来确认你身份的凭证,
在哪里申请呢?腾讯云的首页,“云产品”--“管理工具”--“云API秘钥”,
没有使用过的话,是不会在你的控制台上显示的。
坑点三:由于腾讯云API文档的不合理,导致生成的代码有一些坑,
具体坑信息我已在代码里通过注释的方式解释了
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.vpc.v20170312 import vpc_client, models#查询弹性IP
def findIp():try:cred = credential.Credential("SecretId ", "SecretKey")httpProfile = HttpProfile()httpProfile.endpoint = "vpc.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = vpc_client.VpcClient(cred, "ap-chongqing", clientProfile)req = models.DescribeAddressesRequest()params = '{}'req.from_json_string(params)resp = client.DescribeAddresses(req)#eip=resp.to_json_string()[34:61]eip=resp.to_json_string()[48:60]print(eip) #打印结果:"AddressId": "eip-ilzg91oy"return eipexcept TencentCloudSDKException as err:print(err)#解除绑定IP
def unbindingIp():try:cred = credential.Credential("SecretId ", "SecretKey")httpProfile = HttpProfile()httpProfile.endpoint = "vpc.ap-chongqing.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = vpc_client.VpcClient(cred, "ap-chongqing", clientProfile)req = models.DisassociateAddressRequest()eip = findIp()params = eip#req.from_json_string(params)req.AddressId=params #这里修改了一下,官网生成的是上一行代码resp = client.DisassociateAddress(req)print(resp.to_json_string())except TencentCloudSDKException as err:print(err)
#释放IP
def releaseIp():try:cred = credential.Credential("SecretId ", "SecretKey")httpProfile = HttpProfile()httpProfile.endpoint = "vpc.ap-chongqing.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = vpc_client.VpcClient(cred, "ap-chongqing", clientProfile)req = models.DescribeAddressesRequest()eip = findIp()list=[]list.append(eip)params = listreq.AddressIds=params #这里修改了一下,要求传数组resp = client.ReleaseAddresses(req)print(resp.to_json_string())except TencentCloudSDKException as err:print(err)#创建IP
def newIp():try:cred = credential.Credential("SecretId", "SecretKey")httpProfile = HttpProfile()httpProfile.endpoint = "vpc.ap-chongqing.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = vpc_client.VpcClient(cred, "ap-chongqing", clientProfile)req = models.AllocateAddressesRequest()params = '{}'req.from_json_string(params)resp = client.AllocateAddresses(req)print(resp.to_json_string())except TencentCloudSDKException as err:print(err)#绑定弹性IP
def binding():try:cred = credential.Credential("SecretId", "SecretKey")httpProfile = HttpProfile()httpProfile.endpoint = "vpc.ap-chongqing.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = vpc_client.VpcClient(cred, "ap-chongqing", clientProfile)req = models.AssociateAddressRequest()#params = '{"ins-61lwor90"}'#req.from_json_string(params)#这是只传AddressId的报错:MissingAssociateEntity message:You need to specify the entity ID `"InstanceId"` or `"NetworkInterfaceId"` to associate this address. requestId:81702256-e75f-458f-afde-e87a69554f83#所以至少要传两个值req.InstanceId = "ins-61cwor70"eip = findIp()req.AddressId=eipresp = client.AssociateAddress(req)print(resp.to_json_string())except TencentCloudSDKException as err:print(err)
创建了一个微信群,目前看来是纯技术,虽然大家技术都不咋样,欢迎菜鸟或大牛的加入,目前看来还能算是个纯技术的讨论群,勿培训,勿卖视频
但大家基本上都在聊天,唉,如果还有兴趣的话加群主微信进群。
腾讯云API弹性公网IP踩坑相关推荐
- 腾讯云无法绑定公网IP问题解释与解决方案。
腾讯云无法绑定公网IP问题解释与解决方案. http://blog.csdn.net/chenggong2dm/article/details/51475222 解释:公网IP并不直接配置在服务器上, ...
- 云主机弹性公网IP(EIP)介绍
弹性公网IP EIP(Elastic IP)作为一个独立商品为用户提供公网带宽服务.用户可以将EIP实例与云服务器.负载均衡.NAT网关.VPN网关等实例绑定或解绑,为用户访问公网提供IP地址和公网带 ...
- 阿里云相关-弹性公网IP
1.弹性公网IP定义 EIP(Elastic IP Address)是可以独立购买和持有的公网IP地址资源.可以绑定专有网络类型的ECS实例.专有网络类型的私网SLB实例.专有网络类型的辅助弹性网卡. ...
- 解绑定和释放弹性云服务器的弹性公网IP
操作场景 当弹性云服务器无需继续使用弹性公网IP,可通过解绑定和释放弹性公网IP来释放网络资源. 在弹性负载均衡服务下创建并绑定的弹性公网IP地址,在虚拟私有云的弹性公网IP地址列表中可以显示,但是不 ...
- 使用阿里云ECS绑定弹性公网IP搭建反向代理服务器
一.业务需求 公司线下业务的需要访问某个业务网站,但是公司的互联网出口IP地址为对端安全设备封堵,为规避此问题,在阿里云搭建反向代理服务器,通过反向代理转发到目标业务,解决不能访问的问题. 二.处理方 ...
- 阿里云弹性公网IP(EIP)的使用限制
阿里云弹性公网IP(EIP)是一种可以独立购买和持有的公网IP地址资源,弹性公网IP具有独立购买持有.弹性绑定和配置灵活等优势,但实际使用中弹性公网IP也是有很多限制的,阿里云惠网分享弹性公网IP(E ...
- 说一说阿里云弹性公网IP那些事
弹性公网IP是独立的公网IP资源,可以绑定到阿里云专有网络VPC类型的ECS.NAT网关.私网负载均衡SLB上,并可以动态解绑,实现公网IP和ECS.NAT网关.SLB的解耦,满足灵活管理的要求. 弹 ...
- 【华为云技术分享】云图说 | 一张图看懂华为云弹性公网IP
弹性公网IP(Elastic IP)提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务.可以与弹性云服务器.裸金属服务器.虚拟IP.弹性负载均衡.NAT网关等资源灵活地绑定及解绑.拥有多种灵活 ...
- 阿里云服务器ECS接入多IP_ECS绑定多个弹性公网IP搭建教程
很多场景下我们需要单服务器多IP来完成业务需求,运营商们大多采取单独出售ip来满足客户需求,当然相对靠谱的运营商是我们的首选,下面介绍一下阿里云ECS部署多IP是如何实现的. 1.选择云服务器ECS ...
- 为弹性云服务器申请和绑定弹性公网IP
操作场景 可以通过申请弹性公网IP并将弹性公网IP绑定到弹性云服务器上,实现弹性云服务器访问公网的目的. 申请弹性公网IP 登录管理控制台. 在管理控制台左上角单击,选择区域和项目. 在系统首页,选择 ...
最新文章
- C#.Net的常见面试试题 [转]
- android studio写坦克大战代码_GitHub 项目推荐:俄罗斯小游戏、Markdown 幻灯片、头像生成器、Logo 制作、坦克大战...
- Java反射机制——获取成员变量构造函数
- Elasticsearch概述、ES概念、什么是搜索、全文检索、Elasticsearch功能,什么是distributed document store(来自网络+学习资料)
- springmvc基本配置
- 移动端页面不需要在meta加_移动端适配viewport缩放方案
- 常州全国计算机考点,2017年常州高考考点及考场查询系统
- 【工具】Win 7/8/10 下使用 VC++6.0
- Gdiplus::GdiplusBase::operator new 函数不接受3 个参数问题的处理
- codeforces——Little Pony and Sort by Shift
- MyEclipse 2017 CI 9 发布(附下载)
- Jsonschema2pojo从JSON生成Java类(Maven)
- 简易c语言编程软件,c语言开发工具下载
- 手机聊天记录怎么备份技巧分享,再也不用担心数据丢失了
- android 修复工具下载,安卓数据恢复软件(FonePaw for Android)
- Echarts地图的基本使用方法
- 扬州大学2022年858程序设计与数据结构试题参考答案
- 手机游戏后台服务整体架构
- Android/安卓 文本添加中划线、下划线的方法
- 图片批量重命名方法(超详细 无需辅助软件 本地运行)