【问题标题】:Python AWS BOTO errorPython AWS BOTO 错误
【发布时间】:2017-05-10 00:17:12
【问题描述】:

所以我试图让所有实例通过 python 检查它们的状态。

我在这里找到了一个有人建议的脚本,看起来像这样:

from boto.ec2.connection import EC2Connection

conn = EC2Connection('MY Key ID', 'Secret Access Key')

reservations = conn.get_all_instances()
instance = reservations.instances[0]
print instance.status

但是每次我运行它时都会收到如下错误:

File "/usr/lib/python2.7/dist-packages/boto/ec2/connection.py", line 466, in get_all_instances
, verb='POST')
File "/usr/lib/python2.7/dist-packages/boto/connection.py", line 882, in get_list
response = self.make_request(action, params, path, verb)
File "/usr/lib/python2.7/dist-packages/boto/connection.py", line 868, in make_request
return self._mexe(http_request)
File "/usr/lib/python2.7/dist-packages/boto/connection.py", line 794, in _mexe
raise e
socket.gaierror: Errno -2 Name or service not known

【问题讨论】:

    标签: python amazon-web-services amazon-ec2 boto


    【解决方案1】:

    与其直接构造 EC2Connection 对象,不如试试这样:

    import boto.ec2
    conn = boto.ec2.connect_to_region('us-east-1',
                                      aws_access_key_id='<access_key>',
                                      aws_secret_access_key='<secret_key>')
    
    reservations = conn.get_all_instances()
    instances = [i for r in reservations for i in r.instances]
    for instance in instances:
        print instance.id, instance.state
    

    这对你有用吗?

    【讨论】:

    • Key ID 和 Secret Access Key 应该去哪里?
    • 我已更新代码示例以显示这一点。更好的是,您可以将您的凭据放在一个 boto 配置文件中,而不必每次都传递它们。
    • 谢谢,我现在想去的地方。
    • 我使用了您提供的代码 sn-p,但它仍然给我相同的套接字错误`文件“/usr/lib64/python2.7/socket.py”,第 556 行,在getaddrinfo(host, port, 0, SOCK_STREAM) 中 res 的 create_connection: socket.gaierror: [Errno -2] Name or service not known`
    • 如果您收到该错误,您要么是在创建连接时做错了事,要么是您的 DNS 被搞砸了。该错误表示它找不到与服务端点关联的主机。
    【解决方案2】:

    boto--- 文档实际上告诉您使用 AWS CLI 工具来执行凭证

    特别是这篇文章:https://boto3.readthedocs.io/en/latest/guide/quickstart.html

        If you have the AWS CLI installed, 
     then you can use it to configure your credentials file:   aws configure
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2014-09-08
      • 2023-03-21
      • 2015-10-23
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 2018-05-30
      相关资源
      最近更新 更多