这里我编写了一个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)`
答案 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])`