如何用Python3和Boto3实现AWS CLI的describe-spot-fleet-instances命令?
对应AWS CLI命令的Python3 + boto3实现
嘿,你找错方法啦!你要的不是describe_fleets,boto3里专门有个describe_spot_fleet_instances方法,完全对应你这条AWS CLI命令。
下面是具体的实现代码:
import boto3 # 创建EC2客户端 ec2_client = boto3.client('ec2') # 替换成你的Spot Fleet请求ID spot_fleet_request_id = 'xxx-xxxxx-xxxx-xxxx-xxxx-xxxxxxxx' # 调用对应方法获取Spot Fleet实例信息 response = ec2_client.describe_spot_fleet_instances( SpotFleetRequestIds=[spot_fleet_request_id] ) # 打印返回结果(你可以根据需求处理这些数据) print(response)
关键点说明:
- 这个方法的参数
SpotFleetRequestIds是一个列表,所以即使只查单个请求ID,也要放在方括号里,和CLI的--spot-fleet-request-id参数对应。 - 返回的
response结构和你用CLI执行命令得到的JSON输出基本一致,你可以通过response['ActiveInstances']直接获取当前运行的实例列表。
为什么你之前没找到?因为describe_fleets是用来获取Fleet(包括Spot Fleet)的配置信息,而describe_spot_fleet_instances才是专门用来查询Spot Fleet下的实例详情的,正好匹配你的CLI命令需求。
内容的提问来源于stack exchange,提问作者ikask
相关产品推荐
相关产品推荐

