2016-03-01 18 views
10

Tôi đang cố gắng tạo một trường hợp điểm bằng boto3. Mặc dù tôi tuân thủ theo số API documentation, tôi nhận được một ngoại lệ mà tôi không thể tìm ra được. Mã Tôi đang sử dụng là:boto3: Tạo đối tượng điểm

import boto3 
import datetime 
client = boto3.client('ec2') 
response = client.request_spot_instances(
    DryRun=False, 
    SpotPrice='0.10', 
    ClientToken='string', 
    InstanceCount=1, 
    Type='one-time', 
    LaunchSpecification={ 
     'ImageId': 'ami-fce3c696', 
     'KeyName': 'awskey.pem', 
     'SecurityGroups': ['sg-709f8709'], 
     'InstanceType': 'm4.large', 
     'Placement': { 
      'AvailabilityZone': 'us-east-1a', 
     }, 
     'BlockDeviceMappings': [ 
      { 
       'Ebs': { 
        'SnapshotId': 'snap-f70deff0', 
        'VolumeSize': 100, 
        'DeleteOnTermination': True, 
        'VolumeType': 'gp2', 
        'Iops': 300, 
        'Encrypted': False 
       }, 
      }, 
     ], 

     'EbsOptimized': True, 
     'Monitoring': { 
      'Enabled': True 
     }, 
     'SecurityGroupIds': [ 
      'sg-709f8709', 
     ] 
    } 
) 

Và tôi nhận được ngoại lệ sau đây:

botocore.exceptions.ClientError: An error occurred (InvalidParameterValue) when calling the RequestSpotInstances operation: Value() for parameter groupId is invalid. The value cannot be empty 

Vấn đề là không có tham số groupId trong yêu cầu trong API documentation.

Tôi có thiếu gì đó không?

Trả lời

16

Mặc dù không được chỉ định trong tài liệu API, rõ ràng thông số 'Nhóm bảo mật' yêu cầu tên của nhóm bảo mật, không phải là ID.

Thay đổi tên nhóm đã giải quyết được sự cố.

Cảm ơn bất kỳ ai đã bận tâm đọc câu hỏi này ngay từ đầu.

+5

Điều này vừa tiết kiệm cho tôi giờ. – Brett

Các vấn đề liên quan