Error in Python when communicating with AWS

时间:2016-12-02 05:01:56

标签: amazon-ec2 boto

I have this code, am not sure why the security group is not recognized :

rs = client.get_all_security_groups()
print rs
SecurityGroup:default

req=client.request_spot_instances(price= 0.5,
                                     image_id=config.get('EC2', 'ami'),
                                     instance_type=config.get('EC2', 'type'),
                                     key_name=config.get('EC2', 'key_pair'),
                                     user_data='',
                                     security_groups='default')[0]

    <?xml version="1.0" encoding="UTF-8"?>
    <Response><Errors><Error><Code>InvalidParameterValue</Code>
<Message>
Value () for parameter groupId is invalid. The value cannot be empty</Message></Error></Errors>
<RequestID>a50166a5-3c30-4572-9474-ec46d6a978d0</RequestID></Response>
    I

1 个答案:

答案 0 :(得分:0)

您需要设置安全组ID,而不是安全组名称

rs = client.get_all_security_groups()
print rs
SecurityGroup:default

req=client.request_spot_instances(price= 0.5,
                                  image_id=config.get('EC2', 'ami'),
                                  instance_type=config.get('EC2', 'type'),
                                  key_name=config.get('EC2', 'key_pair'),
                                  user_data='',
                                  security_groups=rs.id)[0]