在批处理脚本中使用AWS Elastic Beanstalk自定义变量

时间:2013-12-18 10:12:55

标签: batch-file amazon-web-services elastic-beanstalk

我们将AWS Elastic Beanstalk用于应用程序,每个应用程序都有三个环境测试,uat和prod。

我们面临的问题是,每当应用程序激活扩展选项时,我们会在缩放冷却时丢失应用程序日志。

当我们重写我们的应用程序以将其日志发送到syslog服务时,我们需要一个临时解决方案,这是通过ebextensions部署的批处理脚本。

批处理脚本的一部分是安排任务每天运行它(现在)但我们无法传递AWS Elastic Beanstalk提供的自定义变量。

示例:

schtasks /create /SC daily /ST 00:00:00 /f /TN s3sync /TR "c:\s3sync.bat {PARAM2}"

我们尝试使用* container_commands *,运气不好。

示例:

02_schedule_s3sync:
  command: "c:\\s3sync.bat {$PARAM2}"

任何建议,替代方法或解决方案都会有所帮助吗?

2 个答案:

答案 0 :(得分:3)

我清除了忘记这个问题,所以我想我会用任何遇到同样问题的人的正确答案更新它。

02_schedule_s3sync: command: schtasks /create /sc hourly /st 00:00:00 /f /ru System /tn s3sync /tr "C:\s3sync.bat %PARAM2% %PARAM3% %PARAM4%" /v1

答案 1 :(得分:1)

自定义环境属性仅在容器内可用。设置这些属性后,它们将作为系统属性提供给您的AWS Elastic Beanstalk应用程序。

它们不能直接在EC2实例上使用。

由于它仅用于解决方法,因此一种选择是向应用程序添加API以返回参数值。

希望它有所帮助。