我想从实例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
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句