我們對應用程序使用AWS Elastic Beanstalk,每個應用程序有三個環境test,uat和prod。在批處理腳本中使用AWS Elastic Beanstalk自定義變量
我們面臨的問題是,每次應用程序激活縮放選項時,縮放比例降低時都會丟失應用程序日誌。
雖然我們重寫我們的應用程序以將其日誌發送到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}"
任何意見,替代方法或溶液將是最有用嗎?
從我看過的Beanstalk配置中指定的環境變量沒有公開爲EC2環境變量的工作是否完成?我打開了一個CMD提示符並使用'set',但沒有看到這些值。經過一番研究後,我在c:\ inetpub \ wwwroot目錄中找到了一個包含值的父級web.config。所以,他們顯然只能用.net配置值(在我的情況下)。我想做你的建議,還沒有嘗試過,但似乎它不會工作。這事有進一步更新嗎? – Ron
更新:我嘗試使用分配的環境變量的「命令」,它不起作用。請讓我知道如果我失去了一些東西。 – Ron
更新:它確實有效,但前提是您使用'container_commands'。我最初使用'命令'。關於config container_commands的文檔證實了這一點,它確實表示環境變量存在。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-container_commands。 +1 – Ron