python - AWS SAM lambda 授权方互联网访问
问题描述
只需添加到 aws sam cli hello world 示例并尝试添加 lambda 授权方:
MyAuthFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./python
Handler: auth/authorizer.lambda_handler
Runtime: python3.8
我的 lambda 需要从我的租户那里获取一个公钥,所以我需要一个外部 get 调用来获取它:
def lambda_handler(event, context):
...
print("getting pub key from", 'https://%s/pem' % os.environ['AUTH_DOMAIN'])
pub_key = requests.get('https://%s/pem' % os.environ['AUTH_DOMAIN'])
...
每次我点击 lambda 时,它都会超时:
Function 'MyAuthFunction' timed out after 3 seconds
我在这里错过了什么吗?我觉得我的 lambda 无法访问互联网
解决方案
您应该增加Timeout,从默认的 3 秒增加到您的功能成功运行所需的任何时间(最多 15 分钟)。
例如:
MyAuthFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./python
Handler: auth/authorizer.lambda_handler
Runtime: python3.8
Timeout: 60 # one minute
推荐阅读
- python - 优化后评估 pyscipopt Expr
- neo4j - Set类型的可变深度持久性和关系
- visual-studio-code - 带有 Python 扩展的 VSCode 2019 年 4 月 - “Python 扩展加载...”
- reactjs - 如何在 Material UI 网格中添加水平滚动
- javascript - css 下拉菜单未显示在 iMac Safari 浏览器中
- javascript - 生成正则表达式以匹配 url
- angular - 如何通过单击 Angular 7 中的按钮来加载组件
- flutter - 如何从有状态小部件类传递变量?- 颤动
- laravel - 在我的 laravel 项目中,一些数据没有从表单提交传递给控制器。可能是什么原因?
- algorithm - 比多个 Free List 方法更快的内存分配和释放算法