0

我创建了最基本的圣杯应用程序

from chalice import Chalice

app = Chalice(app_name='testApp')


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

带有空的 requirements.txt 和如下所示的配置:

{
  "version": "2.0",
  "app_name": "testApp",
  "stages": {
    "dev": {
      "api_gateway_stage": "api"
    }
  }
}

首次部署后立即触发错误

这是我收到的错误:

创建部署包。IAM 角色的更新策略:testApp-dev 更新 lambda 函数:testApp-dev Traceback(最后一次调用):文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages \chalice\cli__init__.py",第 466 行,在主返回 cli(obj={}) 文件中“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\click\ core.py”,第 722 行,调用中 返回 self.main(*args, **kwargs) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\click\core.py”,第 697 行,在main rv = self.invoke(ctx) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\click\core.py”,第 1066 行,在调用中返回 _process_result (sub_ctx.command.invoke(sub_ctx)) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\click\core.py”,第 895 行,调用返回ctx.invoke(self.callback, **ctx.params) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\click\core.py”,第 535 行,在调用返回回调(*args,**kwargs)文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\click\decorators.py”,第17行,在 new_func 返回 f(get_current_context(), *args, **kwargs) 文件 "c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\chalice\cli__init__.py",第 202 行,在 deploy deploy_values = d.deploy(config, chalice_stage_name=stage) File "c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\chalice\deploy\deployer. py”,第 342 行,在部署中返回 self._deploy(config, chalice_stage_name) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\chalice\deploy\deployer. py”,第 355 行,在 _deploy self._executor.execute(plan) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\chalice\deploy\executor.py ", 第 31 行, 在执行 self._default_handler)(instruction) 文件 "c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\chalice\deploy\executor.py”,第 43 行,在 _do_apicall 结果 = 方法(**final_kwargs)文件“c:\ users\vic\appdata\local\programs\python\python37-32\lib\site-packages\chalice\awsclient.py”,第 283 行,在 update_function layers=layers 文件“c:\users\vic\appdata\local\程序\python\python37-32\lib\site-packages\chalice\awsclient.py”,第 352 行,在 _update_function_config max_attempts=self.LAMBDA_CREATE_ATTEMPTS 文件“c:\users\vic\appdata\local\programs\python\python37- 32\lib\site-packages\chalice\awsclient.py”,第 1009 行,在 _call_client_method_with_retries 响应 = 方法(**kwargs)文件“c:\users\vic\appdata\local\programs\python\python37-32\lib \site-packages\botocore\client.py",第 314 行,在 _api_call 返回 self._make_api_call(operation_name, kwargs) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\client.py”,第 586 行,在 _make_api_call api_params, operation_model, context=request_context) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\client.py”,第 621 行,在 _convert_to_request_dict api_params, operation_model ) 文件“c:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\validate.py”,第 291 行,在 serialize_to_request 中引发 ParamValidationError(report=report.generate_report() ) botocore.exceptions.ParamValidationError:参数验证失败:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\client.py”,第 586 行,在 _make_api_call api_params, operation_model, context=request_context) 文件“c:\users\ vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\client.py”,第 621 行,在 _convert_to_request_dict api_params, operation_model) 文件“c:\users\vic\appdata\local\programs \python\python37-32\lib\site-packages\botocore\validate.py",第 291 行,在 serialize_to_request 中引发 ParamValidationError(report=report.generate_report()) botocore.exceptions.ParamValidationError:参数验证失败:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\client.py”,第 586 行,在 _make_api_call api_params, operation_model, context=request_context) 文件“c:\users\ vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\client.py”,第 621 行,在 _convert_to_request_dict api_params, operation_model) 文件“c:\users\vic\appdata\local\programs \python\python37-32\lib\site-packages\botocore\validate.py",第 291 行,在 serialize_to_request 中引发 ParamValidationError(report=report.generate_report()) botocore.exceptions.ParamValidationError:参数验证失败:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\client.py”,第 621 行,在 _convert_to_request_dict api_params, operation_model) 文件“c:\users\vic\appdata\ local\programs\python\python37-32\lib\site-packages\botocore\validate.py",第 291 行,在 serialize_to_request 中引发 ParamValidationError(report=report.generate_report()) botocore.exceptions.ParamValidationError:参数验证失败:\users\vic\appdata\local\programs\python\python37-32\lib\site-packages\botocore\client.py”,第 621 行,在 _convert_to_request_dict api_params, operation_model) 文件“c:\users\vic\appdata\ local\programs\python\python37-32\lib\site-packages\botocore\validate.py",第 291 行,在 serialize_to_request 中引发 ParamValidationError(report=report.generate_report()) botocore.exceptions.ParamValidationError:参数验证失败:

输入中的未知参数:“Layers”,必须是以下之一:FunctionName、Role、Handler、Description、Timeout、MemorySize、VpcConfig、Environment、Runtime、DeadLetterConfig、KMSKeyArn、TracingConfig、RevisionId

4

1 回答 1

0

故障排除后发现我的本地配置存在一些问题。在 virtualenv 中运行圣杯有帮助(https://virtualenv.pypa.io/en/latest/

于 2019-07-15T18:03:46.187 回答