AWS是否为处于睡眠状态的lambda充电

Jan*_*ins 5 amazon-web-services aws-lambda

例如:

count = 0
        while True:
            try:
                if count == 5:
                    break
                snap = ec.create_snapshot(
                    VolumeId=vol_id,
                    Description=instance['InstanceId']
                )
                break
            except Exception as e:
                print(e)
                sleep(180)
                count = count + 1
Run Code Online (Sandbox Code Playgroud)

因此,如果我有很多实例和错误,那么运行lambda可能需要很长时间.什么可以替代让Lambda入睡?

Mar*_*k B 8

是的你仍然被指控.调用sleep()不会停止执行环境.您需要支付执行环境的持续时间,从调用函数到函数执行完成(或直到达到配置的超时)为止.


Pre*_*onM 6

我的假设是肯定的。AWS Lambda 基于三个因素收费

  1. 为功能分配内存
  2. 执行次数
  3. 计算时长

如果您查看如何计算持续时间的定义。

持续时间是从您的代码开始执行到它返回或以其他方式终止的时间计算的,四舍五入到最接近的 100 毫秒。价格取决于您分配给函数的内存量。每使用 GB 秒,您需要支付 0.00001667 USD。

AWS 计算从您的代码开始执行到它返回/终止的时间点的费用。