aws boto - 如何创建实例并返回instance_id

时间:2016-10-13 18:19:13

标签: python amazon-ec2 boto boto3

我想创建一个python脚本,我可以在其中传递参数/输入以指定实例类型,然后附加额外的EBS(如果需要)。

Integer respCode = (Integer) returncp.get("statusInfoResponseCode");

现在,ec2.create_instances()可以返回ID还是必须进行预约迭代?

还是做ec2.create(instance_id)/ return instance_id?文档在这里没有明确说明。

3 个答案:

答案 0 :(得分:1)

文档声明调用create_instances()

https://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.ServiceResource.create_instances

返回列表(ec2.Instance)。因此,您应该能够从列表中对象的“id”属性中获取实例ID。

答案 1 :(得分:1)

在boto3中,create_instances返回一个列表,以便获取在请求中创建的实例ID,以下是:

ec2_client = boto3.resource('ec2','us-east-1')
response = ec2_client.create_instances(ImageId='ami-12345', MinCount=1, MaxCount=1)
instance_id = response[0].instance_id

答案 2 :(得分:0)

您可以使用以下内容

def createInstance():
    instance = ec2.create_instances(
        ImageId=AMI, 
        InstanceType = instType,  
        SubnetId='subnet-31d3ad3', 
        DisableApiTermination=True,
        SecurityGroupIds=['sg-sa4q36fc'],
        KeyName='key'
     )
     # return response
     return instance.instance_id

实际上create_instances会返回ec2.instance个实例