You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Boto3 stop_instances()如何处理已停止或不存在的实例

Boto3 stop_instances() 边界场景行为说明

针对你提到的两种传入参数场景,接口实际行为如下:

  • 传入实例已处于停止状态
    该场景下调用接口不会抛出任何异常,属于接口幂等性覆盖的正常场景。接口会正常返回响应结构,响应中StoppingInstances数组会包含对应实例的条目,条目中CurrentState和PreviousState字段都会标识为stopped(对应状态码80),不会重复触发停机操作,也不会产生额外的资源操作副作用,写自动化脚本时不需要提前过滤已停止的实例再发起调用。
  • 传入的实例ID不存在/无访问权限
    该场景下接口会直接抛出ClientError异常,异常错误码为InvalidInstanceID.NotFound,错误信息会明确提示对应实例ID不存在。需要注意:如果你的批量停机请求中混有任意一个无效/不存在的实例ID,整批请求都会直接失败,不会对请求中附带的其他有效实例执行停机操作。

自动化脚本编写建议

  • 批量执行停机操作前,可先调用describe_instances()接口校验传入的实例ID是否存在、是否归属当前账号配置的区域,过滤掉无效ID后再发起停机请求,避免整批操作失败。
  • 无需额外编写逻辑判断实例是否处于运行中状态,重复对已停止实例调用stop_instances()不会产生异常或非预期行为。

内容的提问来源于stack exchange,提问作者R. Elliot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 03:01:25