AWS Lambda实例何时被销毁取决于特定的条件和配置。以下是一些常见的情况和代码示例。
函数执行完成后立即销毁: 默认情况下,AWS Lambda在函数执行完成后会立即销毁实例。下面是一个示例代码:
import json
def lambda_handler(event, context):
# 处理事件
# ...
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
函数超时后销毁: Lambda函数有一个最大运行时间限制,称为超时时间。如果函数执行超过超时时间,Lambda会立即停止函数并销毁实例。下面是一个示例代码:
import json
import time
def lambda_handler(event, context):
# 处理事件
# ...
# 模拟长时间运行
time.sleep(300)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
连续空闲时间过长后销毁: 如果函数处于空闲状态一段时间,Lambda可能会销毁实例以减少资源占用。这个时间称为保持活动的空闲时间阈值。下面是一个示例代码:
import json
def lambda_handler(event, context):
# 处理事件
# ...
# 模拟长时间空闲
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
需要注意的是,AWS Lambda并不保证函数的执行顺序和实例的销毁时间。实例的销毁时间取决于AWS Lambda的内部处理逻辑和负载状况。