Python 如何验证重新启动是否发生?

Python 如何验证重新启动是否发生?,python,amazon-web-services,boto,Python,Amazon Web Services,Boto,我想使用ec2重新启动一些实例。重新启动\u实例([instanceId])和 这很好,但是: 如何验证重新启动是否发生?我原以为启动时间会改变,但看起来所有参数都保持不变。。我更喜欢在没有ssh或ping的情况下执行此检查-可能吗?是否可以使用instance.get\u console\u output() 文档中不清楚我是否应该在尝试重新启动之前添加一些实例状态检查。若实例被终止,那个么请求将被忽略,这很清楚——但若实例被停止或挂起——我是否应该使用其他东西来代替(启动) 此shell命令

我想使用
ec2重新启动一些实例。重新启动\u实例([instanceId])
和 这很好,但是:

  • 如何验证重新启动是否发生?我原以为启动时间会改变,但看起来所有参数都保持不变。。我更喜欢在没有ssh或ping的情况下执行此检查-可能吗?是否可以使用
    instance.get\u console\u output()

  • 文档中不清楚我是否应该在尝试重新启动之前添加一些实例状态检查。若实例被终止,那个么请求将被忽略,这很清楚——但若实例被停止或挂起——我是否应该使用其他东西来代替(启动)


  • 此shell命令将显示系统启动的时间:

    ssh hostname uptime
    
    要实现自动化,您需要将ssh公钥添加到主机上的
    .ssh/authorized_keys
    文件中

    对于boto,可能是这样的(尽管我没有使用boto):


    请参阅

    上的参考。可能可以解析get_console_output(),但在您获得该信息之前可能会有延迟。我不知道EC2返回的任何数据(例如状态或原因)会有帮助。我认为下面的解决方案(ssh-in和run-uptime)与您所能做的一样好。
    s = boto.manage.cmdshell.SSHClient(hostname, uname='root')
    s.run('uptime')