首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >boto的get_all_instances返回空

boto的get_all_instances返回空
EN

Stack Overflow用户
提问于 2013-06-16 17:54:57
回答 2查看 1.7K关注 0票数 1

我正在尝试使用boto获取所有正在运行的实例,因此:

代码语言:javascript
复制
import boto
conn = boto.connect_ec2(aws_access_key_id='...',aws_secret_access_key='...')
conn.get_all_instances();

但是,尽管我有一个正在运行的实例,但我得到了一个空列表。

当将debug提高到2时,我可以看到以下内容:

代码语言:javascript
复制
[DEBUG]:validating server certificate: hostname=ec2.us-east-1.amazonaws.com, certificate hosts=['ec2.us-east-1.amazonaws.com', 'ec2.amazon...
reply: 'HTTP/1.1 200 OK\r\n'
header: Content-Type: text/xml;charset=UTF-8
header: Transfer-Encoding: chunked
header: Date: Sun, 16 Jun 2013 09:45:00 GMT
header: Server: AmazonEC2
2013-06-16 09:45:00,982 foo [DEBUG]:<?xml version="1.0" encoding="UTF-8"?>
<DescribeInstancesResponse xmlns="http://ec2.amazonaws.com/doc/2013-02-01/">
  <requestId>b30bbc2f-f553-419e-87db-6e453a3051f4</requestId>
  <reservationSet/>
</DescribeInstancesResponse>

提前感谢大家

EN

回答 2

Stack Overflow用户

发布于 2014-06-11 10:58:22

获取某个地域内当前运行实例的快速方法

代码语言:javascript
复制
import boto.ec2
ec2_connection = boto.ec2.connect_to_region(region, aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
instances = ec2_connection.get_only_instances(filters={'instance-state-name': 'running'})

这将返回boto.ec2.instance.Instance的列表

boto API documentation - get_only_instances

票数 2
EN

Stack Overflow用户

发布于 2013-09-23 09:27:55

为了避免混淆,最好指定您想要连接的区域,而不是依赖于默认值us-east-1。试试这个:

代码语言:javascript
复制
>>> import boto
>>> import boto.ec2
>>> region = boto.ec2.get_region('us-west-1', aws_access_key_id=access_key, aws_secret_access_key=secret_key)
>>> print region
RegionInfo:us-west-1
>>> conn = boto.connect_ec2(aws_access_key_id=access_key,aws_secret_access_key=secret_key,region=region)
>>> conn.get_all_instances()
[Reservation:r-xxxx, Reservation:r-xxxx]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17132040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档