使用sls invoke调用Azure函数提示需提供函数名问题咨询
问题可能成因
- Serverless Azure 插件版本bug:旧版
serverless-azure-functions插件存在参数解析缺陷,无法正确识别-f/--function参数,可升级插件到最新稳定版验证。 - Shell参数解析异常:Mac默认的zsh或bash环境对单引号包裹的JSON参数处理逻辑特殊,可能导致
-f Hello被误识别为-d参数的一部分,可尝试调整参数顺序为sls invoke -d '{"name":"Azure"}' -f Hello测试。 - 配置文件大小写不匹配:Azure对函数名大小写不敏感,但Serverless Framework的本地校验是大小写敏感的,若
serverless.yml中functions块下的函数名大小写和传入的Hello不一致,会触发该报错。 - 本地缓存未同步:部署后根目录下
.serverless缓存文件夹没有更新,存储的还是旧的函数列表,可删除该文件夹后重试命令。 - 全局与本地版本冲突:全局安装的Serverless Framework版本和项目内本地安装的版本不匹配,调用时实际运行的全局版本无法读取项目内的函数配置,可尝试用
npx sls invoke -f Hello -d '{"name":"Azure"}'调用项目本地版本验证。
内容的提问来源于stack exchange,提问作者codigube
相关产品推荐
相关产品推荐

