通过 aws cloudformation 部署参数覆盖传递相对文件路径

时间:2021-03-22 21:15:43

标签: amazon-web-services aws-lambda amazon-cloudformation

我正在将 Dynatrace 监控作为一个层添加到嵌套堆栈中的 Lambda 无服务器函数。 Dynatrace 层所需的环境变量正在从根堆栈传递到无服务器函数堆栈,然后在 Globals 块中接收它们。

所需的环境变量之一是 AWS_LAMBDA_EXEC_WRAPPER,我正在尝试传递 /opt/dynatrace 的相对路径。

我正在我的工作站上使用 bash shell 脚本进行开发和测试,因此我使用脚本来执行 aws cloudformation deploy 命令并为 Dynatrace 监控传递参数覆盖。有问题的变量正在使用 pDtLambdaExecWrapper=/opt/dynatrace

将值作为 /opt/dynatrace 传递时,路径被解析为 C:/Program Files/Git/opt/dynatrace,因此给出它不存在的错误。

我尝试将值作为 ./opt/dynatrace 传递,但收到错误 ./opt/dynatrace: does not exist

我使用的是 Windows 10 工作站,并在我的终端 shell 模拟器中使用 Git Bash。

有没有办法使用 parameter-overrides 命令中的 aws cloudformation deploy 选项从 AWS 命令​​行传入相对文件路径,而这种方式只会传递 /opt/dynatrace

在下面部署命令。为了节省空间,我删除或更改了一些其他传入的参数。

aws --region $REGION cloudformation deploy \
--template-file $OUTPUT_TEMPLATE_FILE \
--stack-name $STACK_NAME \
--no-fail-on-empty-changeset \
--capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND \
--parameter-overrides \
pDtTenant=26571e7e-xxxx-4fed-a826-67b899abfee8 \
pDtClusterId=-nnnnnnnnnn \
pDtLambdaExecWrapper=/opt/dynatrace \
pDtLambdaLayerArn=arn:aws:lambda:us-east-1:xxx:1

0 个答案:

没有答案
相关问题