Parameters验证错误Lambda函数



我想从实例ID运行describe_instance_status,实例ID在类似的lambda函数中从describe_instances返回/但获得参数错误

代码是:

import boto3
import json
from collections import defaultdict
region = 'us-east-1'
def lambda_handler(event, context):


client = boto3.client('ec2')
running_instances = client.describe_instances(
Filters=[
{
'Name': 'tag:orgid',
'Values': [
'demoxx',
]
},
],
)

instance_ids = []    

for reservation in running_instances['Reservations']:
for instance in reservation['Instances']:
instance_ids.append(instance['InstanceId'])

response = client.describe_instance_status(
InstanceIds=[
instance_ids,
],
)

错误是:

Parameter validation failed:
Invalid type for parameter InstanceIds[0], value: ['i-0519ad34bbd9954d'], type: <class 'list'>, valid types: <class 'str'>: ParamValidationError
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 31, in lambda_handler
instance_ids,

InstanceIds期望一个列表,而instance_ids已经是一个列表。所以你可以这样做:

response = client.describe_instance_status(
InstanceIds=instance_ids
)

最新更新