在AWS Lambda中,当我们使用REST API调用其他服务时,可能会遇到REST调用超时的问题。这意味着AWS Lambda在等待响应的超时时间内没有收到响应。为了解决这个问题,我们可以采取以下措施:
例:
import json import urllib.request
def lambda_handler(event, context): url = 'https://api.github.com/users/ineedmorecoffee' response = urllib.request.urlopen(url, timeout=30) data = json.loads(response.read()) return {'statusCode': 200, 'body': json.dumps(data)}
例:
import requests
session = requests.Session() session.keep_alive = False
def lambda_handler(event, context): url = 'https://api.example.com/test' response = session.get(url, timeout=30) return {'statusCode': response.status_code, 'body': response.text}
通过增加超时时间或设置保留连接,我们可以解决AWS Lambda REST调用超时问题。加入异常处理(try-except语句),可以帮助我们进一步及时发现和处理代码问题。