【问题标题】:Can I assume boto3 'describe_instance_status response' will never be partial? more specifically regarding 'InstanceStatus' attribute我可以假设 boto3 'describe_instance_status response' 永远不会是部分的吗?更具体地说,关于“InstanceStatus”属性
【发布时间】:2020-05-19 01:05:17
【问题描述】:

我在这个 documentation 或其他任何地方都找不到关于我是否可以假设 boto3 ec2 客户端 describe_instance_status 查询响应永远不会是部分的问题的答案?

更具体地说,这里是实例状态检查失败时来自InstanceStatus 属性的典型describe_instance_status 响应的 sn-p:

"InstanceStatus": {
    "Details": [
        {
            "ImpairedSince": datetime(2015, 1, 1),
            "Name": "reachability",
            "Status": "failed",
        }
    ],
    "Status": "impaired",
}

实例状态状态为impaired,所以问题是,我是否可以假设在这种情况下总是会给出ImpairedSince,或者有时尽管状态为impaired,但响应中会缺少这些数据。 如果它可以丢失,是什么原因?

【问题讨论】:

    标签: python amazon-ec2 boto3


    【解决方案1】:

    doc 是这么说的:

    每分钟执行一次状态检查,返回通过或失败状态。如果所有检查都通过,则实例的整体状态为 OK。 如果一项或多项检查失败,则整体状态为 impaired 状态检查内置于 Amazon EC2 中,因此无法禁用或删除。

    还有一个doc

    impairedSince状态检查失败的时间。对于启动并受损的实例,这是启动实例的时间。

    结论:ImpairedSince 键只会在StatusfailedInstanceStatusDetails 对象中给出。如果至少一项状态检查失败,则整个InstanceStatusSummary 对象的Status 将为impaired

    【讨论】:

    • @shiraev 是的,它会的。
    • 感谢您的回答,但认为您说的是真的,它并没有真正回答我的问题。我知道 ImpairedSince 键只会在状态失败时在 InstanceStatusDetails 对象中给出,但是它会总是出现吗?我可以指望这个对象总是有 ImpairedSince 属性吗?这是另一个问题,这就是我想在这里弄清楚的。
    • @shiraev 我已经在我的回答中解释过了。 impairedSince: The time when a status check failed.
    • 当我说'但是它会总是出现吗?我的意思是总是在状态受损时。换句话说,我能因为某种原因得到这个响应吗? "InstanceStatus": { "Details": [ { "Name": "reachability", "Status": "failed", } ], "Status": "impaired", }
    猜你喜欢
    • 2014-02-21
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 2016-02-22
    相关资源
    最近更新 更多