Travis CI 在部署到 AWS Lambda 期间在handler_name之前添加"index"



我正在使用travis-ci部署lambda函数。我已经根据lambda部署创建了.travis.yml文件,请参见下面的文件内容。

language: generic
deploy:
  provider: lambda
  function_name: MyFunction
  region: us-east-1
  role: correct_roleid
  runtime: python3.6
  handler_name: lambda/testfile.lambda_handler
  access_key_id: key_id
  secret_access_key:
    secure: secret

我项目的文件夹结构:

|   .editorconfig
|   .gitignore
|   .travis.yml
---lambda
        testfile.py

部署后,在Handler字段中,我具有index.lambda/testfile.lambda_handler值。

我的问题:

如何说Travis-ci使用精确值,我在.travis.yml文件中设置了该值?

handler_name需要是函数名称。您还应该设置module_name(请参阅文档(。

module_name :可选。导出处理程序的模块的名称。默认为index

所以尝试类似:

module_name: lambda/testfile
handler_name: lambda_handler

如果那不起作用,请尝试在lambda文件夹中创建__init__.py。如果那不起作用,请尝试将lambda_handler.py移至根文件夹。您可以从文件夹中导入文件以保持有组织的文件结构。

相关内容

最新更新