eb config - AWS Elastic Beanstalk

eb config

描述

管理活动配置设置和您的环境保存的配置。您可以使用此命令上载、下载或列出环境中已保存的配置。您还可以使用它来下载、显示或更新其活动配置设置。

如果根目录包含一个指定自定义平台的 platform.yaml 文件,则该命令还会更改生成器配置设置。这是基于 platform.yaml 中设置的值来完成的。

注意

eb config 不会显示环境属性。要设置可在您的应用程序中读取的环境属性,请使用 eb setenv

语法

以下是 eb config 命令用于使用环境的活动配置设置的部分语法。有关具体示例,请参阅查看本主题后面的示例部分。

  • eb config – 在文本编辑器中显示您配置为 EDITOR 环境变量的环境的活动配置设置。当您保存对文件所做的更改并关闭编辑器时,将使用您保存在文件中的选项设置来更新环境。

    注意

    (如果您尚未配置 EDITOR 环境变量,则 EB CLI 将在默认编辑器中显示 YAML 文件的选项设置。)

  • eb config environment-name – 显示并更新命名环境的配置。配置显示在您配置的文本编辑器中或默认编辑器 YAML 文件中。

  • eb config save – 使用文件名 [configuration-name].cfg.yml 将当前环境的活动配置设置保存到 .elasticbeanstalk/saved_configs/。默认情况下,EB CLI 将基于环境名称使用 configuration-name 保存配置设置。可以在运行此命令时将 --cfg 选项与所需的配置名称一起包含来指定其他配置名称。

    您可以使用 --tags 选项标记保存的配置。

  • eb config --display – 将环境的活动配置设置写入 stdout(而非文件)。默认情况下,这将显示终端的配置设置。

  • eb config --update configuration_string | file_path – 使用 configuration_string 中指定的信息或由 file_path 标识的文件中指定的信息更新当前环境的活动配置设置。

注意

--display--update 选项提供了以编程方式读取和修改环境配置设置的灵活性。

下面介绍了使用 eb config 命令处理已保存的配置时遵循的语法。有关示例,请参阅查看本主题后面的示例部分。

  • eb config get config-name – 从 Amazon S3 下载命名的已保存配置。

  • eb config delete config-name – 从 Amazon S3 删除命名的已保存配置。如果您已经下载,也会在本地删除它。

  • eb config list - 列出您在 Amazon S3 中拥有的已保存配置。

  • eb config put filename - 将命名的已保存配置上传到 Amazon S3 存储桶。filename 的文件扩展名必须为 .cfg.yml。要指定不带路径的文件名,可以先将文件保存到 .elasticbeanstalk 文件夹或 .elasticbeanstalk/saved_configs/ 文件夹,然后再运行此命令。或者,您可以通过提供完整路径来指定 filename

选项

名称

描述

--cfg config-name

用于已保存配置的名称。

此选项仅适用于 eb config save

-d

--display

显示当前环境的配置设置(写入 stdout)。

将与 --format 选项结合使用以指定 JSON 或 YAML 格式的输出。如果不指定输出格式,将使用 YAML 格式。

此选项仅在您使用 eb config 命令(而不使用任何其他子命令)时适用。

-f format_type

--format format_type

指定显示格式。有效值包括 JSON 或 YAML。

默认值为 YAML。

此选项仅适用于 --display 选项。

--tags key1=value1[,key2=value2 ...]

要添加到保存的配置的标签。在列表中指定标签时,将其指定为键 = 值对,并用逗号分隔每个标签。

有关更多信息,请参阅标记保存的配置

此选项仅适用于 eb config save

--timeout timeout

命令超时之前的分钟数。

-u configuration_string | file_path

--update configuration_string | file_path

更新当前环境的活动配置设置。

此选项仅在您使用 eb config 命令(而不使用任何其他子命令)时适用。

configuration_string | file_path 参数的类型为字符串。字符串提供了要从环境配置设置中添加、更新或删除的命名空间列表和相应选项。或者,输入字符串可以表示包含相同信息的文件。

要指定文件名,输入字符串必须遵循 "file://<path><filename>" 格式。要指定不带 path 的文件名,可以将文件保存运行命名的文件夹中。或者,您可以通过提供完整路径来指定 filename。

配置信息必须符合以下条件。至少需要 OptionSettingsOptionsToRemove 部分之一。使用 OptionSettings 添加或更改选项。使用 OptionsToRemove 从命名空间中删除选项。有关具体示例,请参阅查看本主题后面的示例部分。

YAML 格式

OptionSettings: namespace1: option-name-1: option-value-1 option-name-2: option-value-2 ... OptionsToRemove: namespace1: option-name-1 option-name-2 ...

JSON 格式

{ "OptionSettings": { "namespace1": { "option-name-1": "option-value-1", "option-name-2": "option-value-2", ... } }, "OptionsToRemove": { "namespace1": { "option-name-1", "option-name-2", ... } } }

常用选项

输出

如果 eb configeb config environment-name 命令在无子命令或不添加选项的情况下运行成功,则将在文本编辑器中显示您配置为 EDITOR 环境变量的当前的选项设置。(如果您尚未配置 EDITOR 环境变量,则 EB CLI 将在默认编辑器中显示 YAML 文件的选项设置。)

当您保存对文件所做的更改并关闭编辑器时,将使用您保存在文件中的选项设置来更新环境。将显示以下输出以确认配置更新。

$ eb config myApp-dev Printing Status: 2021-05-19 18:09:45 INFO Environment update is starting. 2021-05-19 18:09:55 INFO Updating environment myApp-dev's configuration settings. 2021-05-19 18:11:20 INFO Successfully deployed new configuration to environment.

如果使用 --display 选项成功运行命令,它会显示当前环境的配置设置(写入 stdout)。

如果此命令在具有 get 参数的情况下成功运行,则将显示您下载的本地副本的位置。

如果此命令在具有 save 参数的情况下成功运行,则将显示已保存文件的位置。

示例

本部分介绍如何更改用来查看和编辑选项设置文件的文本编辑器。

对于 Linux 和 UNIX,以下示例将编辑器更改为 vim:

$ export EDITOR=vim

对于 Linux 和 UNIX,以下示例将编辑器更改为安装在 /usr/bin/kate 中的项。

$ export EDITOR=/usr/bin/kate

对于 Windows,以下示例将编辑器更改为 Notepad++。

> set EDITOR="C:\Program Files\Notepad++\Notepad++.exe

本部分提供了针对 eb config 命令(当此命令在具有子命令的情况下运行时)的示例。

以下示例删除名为 app-tmp 的已保存配置。

$ eb config delete app-tmp

以下示例从 Amazon S3 存储桶下载名为 app-tmp 的已保存配置。

$ eb config get app-tmp

以下示例列出存储在 Amazon S3 存储桶中的已保存配置的名称。

$ eb config list

以下示例将名为 app-tmp 的已保存配置的本地副本上传到 Amazon S3 存储桶。

$ eb config put app-tmp

以下示例保存来自当前运行的环境的配置设置。如果您没有提供用于已保存配置的名称,Elastic Beanstalk 将根据环境名称命名配置文件。例如,名为 tmp-dev 的环境将被称为 tmp-dev.cfg.yml。Elastic Beanstalk 将文件保存到 /.elasticbeanstalk/saved_configs/ 文件夹。

$ eb config save

以下示例说明如何使用 --cfg 选项将来自环境 tmp-dev 的配置设置保存到名为 v1-app-tmp.cfg.yml 的文件中。Elastic Beanstalk 将文件保存到文件夹 /.elasticbeanstalk/saved_configs/。如果不指定环境名称,Elastic Beanstalk 将保存来自当前运行的环境的配置设置。

$ eb config save tmp-dev --cfg v1-app-tmp

本部分提供了针对 eb config 命令(当此命令在没有子命令的情况下运行时)的示例。

以下命令在文本编辑器中显示当前环境的选项设置。

$ eb config

以下命令在文本编辑器中显示 my-env 环境的选项设置。

$ eb config my-env

以下示例显示了当前环境的选项设置。因为没有使用 --format 选项指定特定格式,它以 YAML 格式输出。

$ eb config --display

以下示例使用名为 example.txt 的文件中的规范更新当前环境的选项配置。此文件采用 YAML 或 JSON 格式。EB CLI 会自动检测文件格式。

  • 命名空间 aws:autoscaling:asg 的 Minsize 选项设置为 1。

  • 命名空间 aws:elasticbeanstalk:command 的批处理大小设置为 30%。

  • 它从命名空间 AWSEBV2LoadBalancer.aws:elbv2:loadbalancer 删除了 IdleTimeout: None 选项设置。

$ eb config --update "file://example.txt"

例 - filename:example.txt – YAML 格式

OptionSettings: 'aws:elasticbeanstalk:command': BatchSize: '30' BatchSizeType: Percentage 'aws:autoscaling:asg': MinSize: '1' OptionsToRemove: 'AWSEBV2LoadBalancer.aws:elbv2:loadbalancer': IdleTimeout

例 - filename:example.txt – JSON 格式

{ "OptionSettings": { "aws:elasticbeanstalk:command": { "BatchSize": "30", "BatchSizeType": "Percentage" }, "aws:autoscaling:asg": { "MinSize": "1" } }, "OptionsToRemove": { "AWSEBV2LoadBalancer.aws:elbv2:loadbalancer": { "IdleTimeout" } } }

以下示例更新了当前环境的选项设置。该命令将命名空间 aws:autoscaling:asg 的 Minsize 选项设置为 1。

注意

这些示例是特定于 Windows PowerShell 的。它们通过在双引号(")字符前面加一个斜杠(\)字符来转义双引号字符。不同的操作系统和命令行环境可能具有不同的转义序列。因此,我们建议使用前面示例中显示的文件选项。在文件中指定配置选项不需要转义字符,并且在不同操作系统中一致。

下面是 JSON 格式示例。EB CLI 将检测格式是 JSON 还是 YAML。

PS C:\Users\myUser\EB_apps\myApp-env>eb config --update '{\"OptionSettings\":{\"aws:autoscaling:asg\":{\"MaxSize\":\"1\"}}}'

下面是 YAML 格式示例。要以正确的格式输入 YAML 字符串,该命令需要包括 YAML 文件中所需的间距和行尾返回。

  • 以“enter”或“Return”键结束每行。

  • 第二行以两个空格开头,第三行以四个空格开头。

PS C:\Users\myUser\EB_apps\myApp-env>eb config --update 'OptionSettings: >> aws:autoscaling:asg: >> MinSize: \"1\"'