web-dev-qa-db-ja.com

boto3:AttributeError: 'EC2'オブジェクトに属性がありません 'create_instances'

client = boto3.client('ec2', 
        aws_access_key_id=key,
        aws_secret_access_key=secret,
        region_name='ap-southeast-1')


    response = client.create_instances(
        DryRun=True,
        ImageId=AMI1,
        MinCount=1,
        MaxCount=1,
        KeyName='my-key',
        SecurityGroupIds=[sg1, sg2],
        InstanceType='m3.medium',
        Placement={
            'AvailabilityZone': 'ap-southeast-1a'
        },
        SubnetId=sb1,
        NetworkInterfaces=[
            {
                'NetworkInterfaceId': vpc1,
                'SubnetId': sb1,
                'Description': 'Description'
            }
        ]
    )
    print response 

インスタンスを作成するためのAPI呼び出しの実行中にエラーが発生しました。describe_imagesなどの他の操作が正常に機能しているため、キーが適切であることを確認しました。

私は何かが足りないのですか?

7
ranjeetcao
1
vaibhav

エラーメッセージが示すように、EC2.Clientcreate_instancesを提供しません。

代わりに、 boto3ドキュメント によると、それを提供するのはEC2.ServiceResourceです。

最初の命令を更新する必要があります。

client = boto3.resource('ec2', 
    aws_access_key_id=key,
    aws_secret_access_key=secret,
    region_name='ap-southeast-1')
9
user513418