python boto3参数验证错误

时间:2018-01-17 10:01:31

标签: python amazon-web-services boto3

这里我编写了一个python程序来启动一个匹配所有条件的实例。但是在执行程序时会显示以下错误。botocore.exceptions.ParamValidationError: Parameter validation failed: Invalid type for parameter InstanceIds, value: i-012345678, type: <type 'str'>, valid types: <type 'list'>, <type 'tuple'> .Below是我的代码:

import boto3
ec2=boto3.client('ec2',region_name='ap-south-1')
a=ec2.describe_instances()
for i in a['Reservations']:
    for x in i['Instances']:
       if x['InstanceId']=="i-12345678" and x['State'['Name']=='stopped':
            n = x['InstanceId']
            ec2.start_instances(InstanceIds=n)`

1 个答案:

答案 0 :(得分:1)

错误本身是不言自明的。您必须传递实例ID的列表或元组,而不仅仅是字符串。您可以在docs

中看到这一点

请参阅下面的更新代码。

import boto3
ec2=boto3.client('ec2',region_name='ap-south-1')
a=ec2.describe_instances()
for i in a['Reservations']:
    for x in i['Instances']:
       if x['InstanceId']=="i-12345678" and x['State'['Name']=='stopped':
            n = x['InstanceId']
            ec2.start_instances(InstanceIds=[n])`