3

chalice的文档中,可以看到 chalice 提供的在 aws 上配置 lambda 函数的示例。

这个想法是您可以定义一个如下所示的应用程序:

from chalice import Chalice

app = Chalice(app_name='demotimeout')


@app.route('/')
def index():
    return {'hello': 'world'}

@app.lambda_function()
def test_lambda(event, context):
    return {'hello': 'world'}

使用此应用程序,您可以config.json像这样设置文件;

{
  "stages": {
    "dev": {
      "api_gateway_stage": "api",
      "lambda_functions": {
        "test_lambda": {
          "lambda_timeout": 120
        }
      }
    }
  },
  "version": "2.0",
  "app_name": "demotimeout"
}

当你这样做时,你设置了test_lambda函数的超时时间。

我想知道,是否可以设置index函数的超时时间?一个没有@app.lambda_function()装饰器但有装饰器的那个@app.route('/')

4

3 回答 3

3

更改 config.json 文件如下:

 {
  "stages": {
    "dev": {
      "api_gateway_stage": "api"
    }
  },
  "version": "2.0",
  "app_name": "myappname",
  "lambda_memory_size" : 2048,
  "lambda_timeout" : 120
}

无需使用 lambda 装饰器或任何东西。

于 2019-08-21T09:36:37.903 回答
1

如果到达 Chalice 中的路线时不满足要求,它将失败或通过。Chalice 路由中没有超时设置。

但是,在 Chalice 中有一个用于 lambda 的超时设置,可以在配置中设置。

于 2018-04-16T15:05:56.363 回答
0

在此处输入图像描述

这是为 aws lambda 配置超时并部署它的一种方法:

    $> chalice --version
    chalice 1.2.2

第一次创建“纯 lambda”,详细信息请参阅此链接:http: //chalice.readthedocs.io/en/latest/topics/purelambda.html

@app.lambda_function(name='FancyLambdaFunc')
def fancy_handler(event, context):
    # Do all the fancy stuff ...

第二个在 config.json 添加:

    "dev": {
      "api_gateway_stage": "api",
      "lambda_functions": {
        "FancyLambdaFunc": {
          "lambda_timeout": 240
        }
      }
    }

最后在 AWS 中验证:(见上图)

于 2018-04-25T17:07:00.937 回答