在maven命令后以批处理文件运行时,AWS CLI无法找到配置文件

时间:2018-02-08 10:04:13

标签: maven batch-file aws-cli

当我在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>

(当然括号中的单词只是占位符)

2 个答案:

答案 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>

现在一切都像魅力一样。