在 Elastic Beanstalk 上运行 .config 文件?

Posted

技术标签:

【中文标题】在 Elastic Beanstalk 上运行 .config 文件?【英文标题】:Running a .config file on Elastic Beanstalk? 【发布时间】:2014-06-02 15:02:15 【问题描述】:

我正在尝试在我的弹性 beantalk 上运行自定义 .config 文件。我正在按照this link 上的指示进行操作。我创建了一个名为myapp.config 的文件,并将以下内容放入其中:

container_commands:
        01_setup_apache:
        command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf"

当我运行它时,我收到以下错误:

应用程序版本 myapp-0.0.33-SNAPSHOT 中配置文件 .ebextensions/myapp.config 中的“命令”必须是映射。更新配置文件中的“命令”。

这个错误真的很神秘。我做错了什么?

我的容器是 apache tomcat 7。

【问题讨论】:

【参考方案1】:

配置文件格式可以是 yamljson。您的原始配置是 yaml 样式但不符合要求。这就是为什么fixing white space(这使它符合yaml)修复了你的配置。如果您使用 yaml 编写配置,则可以通过 yaml 解析器运行它以检查它是否兼容。

【讨论】:

【参考方案2】:

得到了答案。显然空格很重要。我改变了:

container_commands:
        01_setup_apache:
        command: "cp .ebextensions/enable_mod_deflate.conf 
/etc/httpd/conf.d/enable_mod_deflate.conf"

到:

container_commands:
        01_setup_apache:
            command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf"

现在它可以工作了。

【讨论】:

空格在 YAML 中很重要。

以上是关于在 Elastic Beanstalk 上运行 .config 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AWS Elastic Beanstalk 上运行 celery worker?

在 Elastic Beanstalk 上运行 .config 文件?

在 AWS Elastic Beanstalk 上运行临时脚本

Celery 可以在 Elastic Beanstalk 上运行吗?

如何在 Elastic Beanstalk 实例上运行任意 npm 脚本

让 Ruby 服务在 Elastic Beanstalk 上运行