调用阿里API创建阿里云主机

SDK的安装

#@Python2.7版本为例
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-ecs

创建ECS

其中的和都要替换成自己阿里云账号的密钥。

#!/usr/bin/env python
#coding=utf-8
from aliyunsdkcore import client
from aliyunsdkecs.request.v20140526 import CreateInstanceRequest
clt = client.AcsClient('<accessKeyId>','<accessSecret>','cn-hangzhou')
# 设置参数
request = CreateInstanceRequest.CreateInstanceRequest()
request.set_accept_format('json')
request.add_query_param('RegionId', 'cn-beijing')
request.add_query_param('ImageId', 'm-2ze372zb7i7qa0sisrw5')
request.add_query_param('InstanceType', 'ecs.sn1.xlarge')
request.add_query_param('SecurityGroupId', 'sg-2ze91qz7h3zhsca3ugee')
request.add_query_param('ZoneId', 'cn-beijing-d')
request.add_query_param('IoOptimized', 'optimized')
request.add_query_param('VSwitchId', 'vsw-2zebrmur8wn53zpss7bff')
# 发起请求
response = clt.do_action(request)
print response

看起来特别简单,设置参数,发起请求,然后就可以了。因此参数特别重要,下面慢慢解释:

RegionId 设置地域,比如华北2,华北3 
ImageId 设置镜像 
InstanceType 设置实例类型,比如8C16G的ecs.sn1.xlarge 
SecurityGroupId 设置安全组 
ZoneId 设置可用区AZ,比如华北2D区 
VSwitchId 设置交换机ID 
IoOptimized 选择是否采用IO优化实例

TIPS:这里需要注意的是VPC不需要单独指定,只需要指定VPC中的VSwitchId 交换机ID就可以了。

然后发送请求,如果成功的话,会返回实例ID。

默认开启的实例是按量付费类型,如果需要包月类型并且自动续费可以打开下面的选项

#@默认周期单位是:月
request.add_query_param('InstanceChargeType', 'PrePaid')
request.add_query_param('Period', 1)
request.add_query_param('AutoRenew', True)
request.add_query_param('AutoRenewPeriod', 1)

默认情况下创建的实例是关机状态,需要单独去启动实例。

# 设置参数
request = StartInstanceRequest.StartInstanceRequest()
request.set_accept_format('json')
request.add_query_param('InstanceId', 'i-123456789')
# 发起请求
response = clt.do_action(request)
print response
posted @ 2018-09-10 10:29  Jackson的博客  阅读(1008)  评论(0编辑  收藏  举报