首页 > 其他分享 >【京东云】通过SDK创建多个弹性IP

【京东云】通过SDK创建多个弹性IP

时间:2023-05-31 15:32:52浏览次数:28  
标签:cn ip resp 公网 client key IP 京东 SDK


需求:某客户短时间内需要申请大量的IP,并且在同一个C段(256个)

目的:通过SDK方式,将一个C段的IP都开出来

步骤:

一、配置环境:

安装CLI:

(1)安装python3.6 

yum install python36

(2)安装pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python3 get-pip.py

(3)修改bashrc

[root@junper ~]# echo 'eval "$(register-python-argcomplete jdc)"' >> .bashrc

[root@junper ~]# echo 'export COLUMNS=100' >> .bashrc

[root@junper ~]# source ~/.bashrc

(4)配置Key

[root@junper ~]#

add --profile default --access-key **** --secret-key ***

(5)安装Python SDK


[root@junper ~]# pip install -U jdcloud_sdk


(5)脚本

import sys
 from jdcloud_sdk.core.credential import Credential
 from jdcloud_sdk.core.logger import Logger
 from jdcloud_sdk.services.vpc.client.VpcClient import VpcClient
 from jdcloud_sdk.services.vpc.apis.CreateElasticIpsRequest import CreateElasticIpsRequest # ak/sk配置
 access_key = sys.argv[1]
 secret_key = sys.argv[2] # 公网ip地域
 # 华北-北京: cn-north-1
 # 华东-上海: cn-east-2
 # 华南-广州: cn-south-1
 regionId = sys.argv[3] # 公网ip带宽1-200
 bandwidthMbps = int(sys.argv[4]) # 获取client
 def getVpcClient(accessKey, secretKey):
     credential = Credential(accessKey, secretKey)
     # 日志级别
     log_level = 2
     logger = Logger(log_level)
     client = VpcClient(credential, logger=logger)
     return client # 创建弹性公网ip
 def createEip():
     client = getVpcClient(access_key, secret_key)
     try:
         # 创建弹性公网ip参数
         parameters = {
             "maxCount": 1,
             "elasticIpSpec": {
                 "provider": "bgp",
                 "bandwidthMbps": bandwidthMbps,
                 "chargeSpec": {
                     "chargeMode": "postpaid_by_usage"
                 }
             },
             "elasticIpAddress": "",
             "regionId": regionId
         }
         with open("ips.txt", ) as f:
             ipList = f.readlines()        for ip in ipList:
             ip = ip.strip()
             parameters["elasticIpAddress"] = ip
             request = CreateElasticIpsRequest(parameters)
             resp = client.send(request)
             print(ip, "requestId: ", resp.request_id)
             if resp.error is not None:
                 print(resp.error.code, resp.error.message)
                 continue
             print(resp.result)
     except Exception as e:
         print(e) if __name__ == "__main__":
     createEip()


 

二、使用方法

1. 使用seq 1 254 | awk '{print "114.19.7."$1}' > ips.txt命令,将待创建的ip输出到ips.txt文件中,seq 1 254会生成1到254的序列,追加到114.19.7.的后面,构成完成的ip
2. 执行python3 createips.py AKSK 地域 公网带宽 > creatIP.log
    公网ip地域:
    华北-北京: cn-north-1
    华东-上海: cn-east-2
    华南-广州: cn-south-1
    例如: python3 createips.py DADWFSFGSFEFSDGS8888ABHSSEEEEEE6 9D228E38283D8E8SFGSSDFSGSFEEEEEE cn-north-1 1 > createIP.log

标签:cn,ip,resp,公网,client,key,IP,京东,SDK
From: https://blog.51cto.com/u_4506734/6387401

相关文章

  • Intel Media SDK and Intel® oneAPI Video Processing Library (oneVPL)
    TheIntelMediaSoftwareDevelopmentKit(IntelMediaSDK)isacross-platformapplicationprogramminginterface(API)fordevelopingmediaapplicationsonWindowsandLinux. Itismainlyusedforhardware-acceleratedvideoencoding,decoding,andprocess......
  • chatgpt的monica告诉我的关于cmip6的变量标签的解释,牛
    在CMIP6(CoupledModelIntercomparisonProjectPhase6)中,VariantLabel是用于标识不同模型变体的标签。它由四个部分组成,分别是r1i1p1f1。r1表示实验重复次数(runnumber),即同一模型下运行的不同实验的编号。r1表示第一次运行。i1表示初始条件(initialization),即同一实验下使用......
  • 前端 React + vite + Typescript 后端 java + springmvc + jwt 跨域 解决方案
    首先后端配置跨域:web.xml文件: <!--配置跨域--><filter><filter-name>header</filter-name><filter-class>org.zhiyi.config.Cross</filter-class></filter><filter-mapping><......
  • pip install时遇到subprocess-exited-with-error错误
    当我使用容器在外网下载的peft源码包中使用pipinstall-e.命令进行安装时,安装顺利进行。而当我在公司内网使用相同容器进行安装时,报出题目中的错误,因为是离线安装,所以我猜测是不是网络问题,因为这两个区别就是一个联网一个没有联网,于是我在内网pipinstall-e.命令后面加上了......
  • winform dataGridView MultipleLayeredColumnHeader
    privatevoidMainForm_Load(objectsender,EventArgse){this.dataGridView1.Columns.Add("JanWin","Win");this.dataGridView1.Columns.Add("JanLoss","Loss");this.dataGri......
  • 基于AIGC的京东购物助手的技术方案设想
    灵感来源随着AIGC的爆火,ChatGPT,GPT-4的发布,我作为一个算法工作者,深感AI发展的迅猛。最近,OpenAI的插件和联网功能陆续向用户公开,我也在第一时间试用了这些最新的功能。在OpenAI的插件市场上,我被一个可以帮助分析食谱,并生成购物清单的功能所吸引。我开始思考,如果我能够基于京东商城......
  • 不小心关闭了maven build script found,maven找不到怎么办
    dea打开maven项目,会有mavenbuildscriptfound提示,提示所有maven模块,以及import导入快捷按钮,之后就可以看到maven的toolwindows 如果同学不小心关闭了,也没有关系**方法一:**选中项目中的pom文件,右键,addasmavenproject,就可以看到maven的toolwindows了 **方法二:**关闭......
  • ShareSDK Android端合规指南
    2021年5月1日起,由国家互联网信息办公室、工业和信息化部、公安部、国家市场监督管理总局联合制定了《常见类型移动互联网应用程序必要个人信息范围规定》(简称“App必要个人信息范围规定”)已正式施行。“App必要个人信息范围规定”不仅明确常见39种类型的App必要个人信息范围,而且明......
  • C端用户体验度量实战篇-京东快递小程序体验度量全面升级 | 京东云技术团队
    本文通过介绍体验度量模型升级研究过程、研究方法及研究结果等内容,结合实际C端产品应用,观测新模型运行周期的表现,验证了其在高速发展的业务形态和日益变化的用户需求上的适用性和有效性。我们从体验价值为导向的底层模型设计,到主客观体验影响因子在实际业务运用的方法,探索出一套切......
  • [TSG开发]法如扫描仪SDK探幽-1.旧版SDK采集流程、问题解析、常见参数
    做什么法如扫描仪是一个三维的激光扫描仪,可以通过特定的作业模式将空间以三维激光点云的形式保存下来,并且通过特定的算法得出一些想要的具体参数。这个SDK探幽日志主要是对目前SDK开发中遇到的一些问题做个记录,以及对未来开发的一些指导,只是在业余时间简单写写,之后还会深入探索......