在AWS Lambda函数中,超时时间默认为3秒钟,可以通过以下方法解决超时问题:
import boto3
def lambda_handler(event, context):
# 增加超时时间为5分钟
context.get_remaining_time_in_millis = lambda: 5 * 60 * 1000
# 其他函数代码
# ...
import boto3
def lambda_handler(event, context):
# 将任务发布到SNS主题
sns = boto3.client('sns')
sns.publish(
TopicArn='arn:aws:sns:us-west-2:123456789012:my-topic',
Message='Long running task'
)
# 返回响应给调用方
return {
'statusCode': 200,
'body': 'Task submitted successfully'
}
import boto3
def lambda_handler(event, context):
# 获取要处理的分片
shard = event['shard']
# 处理分片数据
# ...
# 返回结果
return {
'statusCode': 200,
'body': 'Shard processed successfully'
}
通过增加超时时间、异步处理或分片处理,可以有效解决AWS Lambda超时问题。根据具体的业务需求选择合适的解决方法。