boto.ec2.connection.EC2Connection.request_spot_instances() 不 return boto.ec2.spotinstancerequest.SpotInstanceRequest
boto.ec2.connection.EC2Connection.request_spot_instances() does not return boto.ec2.spotinstancerequest.SpotInstanceRequest
标题说的就是问题。
我正在像这样请求一个带有 boto 的 spot 实例(aws 密钥和密钥是在 ~/.boto 中设置的环境变量):
import boto
conn = boto.connect_ec2()
type(conn)
> boto.ec2.connection.EC2Connection
response = conn.request_spot_instances(**params)
type(response)
> boto.resultset.ResultSet
params 具有价格、image_id、instance_type 和展示位置的值。
这是图书馆偏离其文档的地方。正如您在 boto docs 中看到的,request_spot_instances() 应该是 return boto.ec2.spotinstancerequest.SpotInstanceRequest
,但它 return 是 boto.resultset.ResultSet
。
没有方法可以获取 boto.resultset.ResultSet
的请求 ID,这正是我真正想要的。我不想解析 return 从打印 response
编辑的值,但我在文档中找不到获取它的好方法。
print(response)
> [SpotInstanceRequest:sir-xxxxxxx]
好了,这不再是问题了
In [120]: type(response[0])
Out[120]: boto.ec2.spotinstancerequest.SpotInstanceRequest
您只需引用列表的第一个对象。不过,我觉得应该更新文档以反映函数 returns 包含 SpotInstanceRequest
的列表
标题说的就是问题。
我正在像这样请求一个带有 boto 的 spot 实例(aws 密钥和密钥是在 ~/.boto 中设置的环境变量):
import boto
conn = boto.connect_ec2()
type(conn)
> boto.ec2.connection.EC2Connection
response = conn.request_spot_instances(**params)
type(response)
> boto.resultset.ResultSet
params 具有价格、image_id、instance_type 和展示位置的值。
这是图书馆偏离其文档的地方。正如您在 boto docs 中看到的,request_spot_instances() 应该是 return boto.ec2.spotinstancerequest.SpotInstanceRequest
,但它 return 是 boto.resultset.ResultSet
。
没有方法可以获取 boto.resultset.ResultSet
的请求 ID,这正是我真正想要的。我不想解析 return 从打印 response
编辑的值,但我在文档中找不到获取它的好方法。
print(response)
> [SpotInstanceRequest:sir-xxxxxxx]
好了,这不再是问题了
In [120]: type(response[0])
Out[120]: boto.ec2.spotinstancerequest.SpotInstanceRequest
您只需引用列表的第一个对象。不过,我觉得应该更新文档以反映函数 returns 包含 SpotInstanceRequest