当我在cmd中使用适当的参数运行aws lambda update-function-code
命令时,一切正常。当我在批处理文件中运行命令时,它也有效。但是当我想在批处理文件中mvn package
之前运行aws lambda update-function-code
时,我收到以下错误:
'您必须指定一个区域。您还可以通过运行" aws configure"'
来配置您所在的地区我已经配置了它并且我知道它已正确配置,否则只需运行aws lambda命令它也会抛出错误。
配置文件也位于亚马逊建议的位置。
我的批处理文件如下所示:
call mvn package
call aws lambda update-function-code --function-name <functionName> --zip-file fileb://<path/to/jar>
(当然括号中的单词只是占位符)
答案 0 :(得分:0)
您可以在批处理文件中将AWS区域指定为command line option
call aws --region us-east-1 lambda update-function-code --function-name <functionName> --zip-file fileb://<path/to/jar>
任何类型的区域切换都可以通过批处理文件中的逻辑来处理
答案 1 :(得分:0)
我解决了这个问题!
Maven设置了一些局部变量,这些变量以某种方式影响了aws lambda命令。由于call
,这些变量一直存在,直到批处理文件被完全执行。为了避免将这些变量设置到最后我必须添加@SETLOCAL
和@ENDLOCAL
,如下所示:
@SETLOCAL
call mvn package
@ENDLOCAL
call aws lambda update-function-code --function-name <functionName> --zip-file fileb://<path/to/jar>
现在一切都像魅力一样。