如何在无服务器离线的子目录中引用处理程序?



Windows 10 64位

节点 v12.16.3

无服务器 1.71.3

无服务器脱机 6.1.7

目录

root:
- package.json
- /sub
-- __init__.py
-- sub_handler.py
- ...
- handler.py
- serverless.yml

嗨,我目前正在尝试使用无服务器离线在本地测试两个 lambda 函数。 它适用于根目录中的处理程序,但似乎无服务器脱机无法引用子目录中的其他处理程序

如何在子目录中引用处理程序?

PS:此配置在部署到 AWS LAMBDA 时有效。我可以发布两条路径。

当我尝试发布hello2时出错:

[离线] 正在加载处理程序... (C:\用户\my_user\桌面\无服务器脱机\子\sub_handler( 回溯(最近一次调用(:
文件 C:\Users\my_user\Desktop\serverless-offlineode_modules\serverless-offline\dist\lambda\handler-runner\python-runner\invoke.py", 第 75 行,在

module = import_module(args.handler_path.replace('/', '.'))
File "C:Usersmy_userAppDataLocalProgramsPythonPython36libimportlib__init__.py",

126号线,import_module 返回 _bootstrap._gcd_import(name[level:], package, level( 文件 ",第 994 行,_gcd_import

File "<frozen importlib._bootstrap>", line 971, in _find_and_load   
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked

ModuleNotFoundError: 没有名为"sub\sub_handler"的模块

serverless.yml

service: sls-offline-test    
provider:
name: aws
runtime: python3.6
memorySize: 256
stage: ${opt:stage, 'dev'}
region: us-east-1
environment:
STAGE: ${self:provider.stage}    
functions:
hello:
handler: handler.hello
events:
- http:
path: hello
method: POST
hello2:
handler: sub/sub_handler.hello2
events:
- http:
path: 'hello2'
method: POST    
package:
individually: true    
include:
- sub/**
plugins:
- serverless-offline

最近,我遇到了同样的问题,我更新了无服务器离线插件的版本并为我解决了

问题

相关内容

  • 没有找到相关文章

最新更新