

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# EB CLI 命令参考
<a name="eb3-cmd-commands"></a>

您可以使用 Elastic Beanstalk 命令行界面（EB CLI）执行多种操作来部署和管理您的 Elastic Beanstalk 应用程序和环境。如果您要部署 Git 源代码控制下的应用程序源代码，可将 EB CLI 与 Git 集成。有关更多信息，请参阅[设置 EB 命令行界面（EB CLI）来管理 Elastic Beanstalk](eb-cli3.md)和[将 EB CLI 与 Git 配合使用](eb3-cli-git.md)。

**Topics**
+ [常用选项](eb3-cmd-options.md)
+ [**eb abort**](eb3-abort.md)
+ [**eb appversion**](eb3-appversion.md)
+ [**eb clone**](eb3-clone.md)
+ [**eb codesource**](eb3-codesource.md)
+ [**eb config**](eb3-config.md)
+ [**eb console**](eb3-console.md)
+ [**eb create**](eb3-create.md)
+ [**eb deploy**](eb3-deploy.md)
+ [**eb events**](eb3-events.md)
+ [**eb health**](eb3-health.md)
+ [**eb init**](eb3-init.md)
+ [**eb labs**](eb3-labs.md)
+ [**eb list**](eb3-list.md)
+ [**eb local**](eb3-local.md)
+ [**eb logs**](eb3-logs.md)
+ [**eb migrate**](eb3-migrate.md)
+ [**eb open**](eb3-open.md)
+ [**eb platform**](eb3-platform.md)
+ [**eb printenv**](eb3-printenv.md)
+ [**eb restore**](eb3-restore.md)
+ [**eb scale**](eb3-scale.md)
+ [**eb setenv**](eb3-setenv.md)
+ [**eb ssh**](eb3-ssh.md)
+ [**eb status**](eb3-status.md)
+ [**eb swap**](eb3-swap.md)
+ [**eb tags**](eb3-tags.md)
+ [**eb terminate**](eb3-terminate.md)
+ [**eb upgrade**](eb3-upgrade.md)
+ [**eb use**](eb3-use.md)

# 常用选项
<a name="eb3-cmd-options"></a>

以下选项可用于所有 EB CLI 命令。


****  

|  名称  |  描述  | 
| --- | --- | 
|   `--debug`   |  打印用于调试的信息。  | 
|   `-h`, `--help`   |  显示帮助消息。 类型：字符串 默认值：无  | 
|   `--no-verify-ssl`   |  跳过 SSL 证书验证。如果您在将 CLI 与代理结合使用时遇到问题，请使用此选项。  | 
|   `--profile`   |  使用您的 AWS 凭证文件中的特定配置文件。  | 
|   `--quiet`   |  隐藏来自命令的所有输出。  | 
|   `--region`   |  使用指定区域。  | 
|   `-v`, `--verbose`   |  显示详细信息。  | 

# **eb abort**
<a name="eb3-abort"></a>

## 说明
<a name="eb3-abortdescription"></a>

当针对实例的环境配置更改仍在进行中时取消升级。

**注意**  
如果您有两个以上的正在进行更新的环境，系统将提示您选择要为其回滚更改的环境的名称。

## 语法
<a name="eb3-abortsyntax"></a>

 **eb abort** 

 **eb abort *environment-name*** 

## 选项
<a name="eb3-abortoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-abortoutput"></a>

该命令显示当前正在更新的环境的列表，并提示您选择要中止的更新。如果当前仅在更新一个环境，则无需指定环境名称。如果成功，该命令将恢复环境配置更改。回滚过程将继续，直至环境中的所有实例拥有上一个环境的配置或回滚过程失败。

## 示例
<a name="eb3-abortexample"></a>

以下示例取消平台升级。

```
$ eb abort
Aborting update to environment "tmp-dev".
<list of events>
```

# **eb appversion**
<a name="eb3-appversion"></a>

## 说明
<a name="eb3-appversion-description"></a>

EB CLI `appversion` 命令管理 Elastic Beanstalk [应用程序版本](concepts.md#concepts-version)。您可以在无部署的情况下创建应用程序的新版本、删除应用程序的版本或创建[应用程序版本生命周期](applications-lifecycle.md)。如果您不带任何选项调用命令，它将进入[交互模式](#eb3-appversion-interactive)。

使用 `--create` 选项可创建应用程序的新版本。

使用 `--delete` 选项可删除应用程序的某个版本。

使用 `lifecycle` 选项可显示或创建应用程序的版本生命周期策略。有关更多信息，请参阅 [配置应用程序版本生命周期设置](applications-lifecycle.md)。

## 语法
<a name="eb3-appversion-syntax"></a>

 **eb appversion** 

 **eb appversion [-c \$1 --create]** 

 **eb appversion [-d \$1 --delete] *version-label*** 

 **eb appversion lifecycle [-p \$1 --print]** 

## 选项
<a name="eb3-appversion-options"></a>


****  

|  Name  |  描述 类型：字符串  | 
| --- | --- | 
|  -a *application-name* 或者 --应用程序名称 *application-name*  |  应用程序的名称。如果未找到具有指定名称的应用程序，则 EB CLI 会为新应用程序创建应用程序版本。 仅适用于 `--create` 选项。 类型：字符串  | 
|  -c 或 --create  | 创建应用程序的[新版本](concepts.md#concepts-version)。 | 
|  -d *version-label* 或者 --删除 *version-label*  | 删除带有标签的应用程序版本version-label。 | 
|  `-l` *version\$1label* 或者 `--label` *version\$1label*  |  指定要用作 EB CLI 所创建版本的标签。如果您不使用此选项，EB CLI 将生成新的唯一标签。如果您提供了版本标签，请确保它是唯一的。 仅适用于 `--create` 选项。 类型：字符串  | 
|  生命周期  | 调用默认编辑器以创建新的应用程序版本生命周期策略。使用此策略可避免达到[应用程序版本配额](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html#limits_elastic_beanstalk)。 | 
|  lifecycle -p 或 lifecycle --print  | 显示当前应用程序生命周期策略。 | 
|  `-m` "*version\$1description*" 或者 `--message` "*version\$1description*"  |  应用程序版本的描述。它用双引号引起来。 仅适用于 `--create` 选项。 类型：字符串  | 
|  `-p` 或 `--process`  |  预处理并验证源代码包中的环境清单和配置文件。验证配置文件可以识别问题。我们建议您在将应用程序版本部署到此环境中之前执行此操作。 仅适用于 `--create` 选项。  | 
|  `--source codecommit/repository-name/branch-name`  |  CodeCommit 存储库和分支。 仅适用于 `--create` 选项。  | 
|  `--staged`  |  使用 git 索引中暂存的文件（而不是 HEAD 提交）来创建应用程序版本。 仅适用于 `--create` 选项。  | 
|  `--timeout` *minutes*  |  命令超时之前的分钟数。 仅适用于 `--create` 选项。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## 以交互方式使用命令
<a name="eb3-appversion-interactive"></a>

如果您使用不带任何参数的命令，则将显示应用程序的版本。它们按时间倒序方式列出，最新版本列在首位。有关屏幕示例，请参阅 **Examples**（示例）部分。注意显示在底部的状态行。状态行显示上下文相关信息。

按 `d` 可删除应用程序版本，按 `l` 可管理应用程序的生命周期策略，按 `q` 可退出且不保存任何更改。

**注意**  
如果版本部署到了任何环境，则您无法删除此版本。

## Output
<a name="eb3-appversion-output"></a>

带有 `--create` 选项的命令会显示一条消息，确认应用程序版本已创建。

带有`--delete`*version-label*选项的命令会显示一条消息，确认应用程序版本已删除。

## 示例
<a name="eb3-appversion-example"></a>

下面的示例显示了未进行任何部署的应用程序的交互式窗口。

![\[Application window showing version history with three entries and no current deployment.\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/InteractiveModeNoEnvironment.png)


下面的示例显示了已部署第四个版本、版本标签为 **Sample Application**（示例应用程序）的应用程序的交互式窗口。

![\[Application versions table showing 4 versions, with the latest labeled "Sample Application" deployed 2 minutes ago.\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/InteractiveModeWithEnvironment.png)


以下示例显示了**eb appversion lifecycle -p**命令的输出，其中*ACCOUNT-ID*是用户的账户 ID：

```
Application details for: lifecycle
  Region: sa-east-1
  Description: Application created from the EB CLI using "eb init"
  Date Created: 2016/12/20 02:48 UTC
  Date Updated: 2016/12/20 02:48 UTC
  Application Versions: ['Sample Application']
  Resource Lifecycle Config(s):
    VersionLifecycleConfig:
      MaxCountRule:
        DeleteSourceFromS3: False
        Enabled: False
        MaxCount: 200
      MaxAgeRule:
        DeleteSourceFromS3: False
        Enabled: False
        MaxAgeInDays: 180
    ServiceRole: arn:aws:iam::ACCOUNT-ID:role/aws-elasticbeanstalk-service-role
```

# **eb clone**
<a name="eb3-clone"></a>

## 说明
<a name="eb3-clonedescription"></a>

将一个环境克隆到一个新环境，这样两个环境将具有相同的环境设置。

**注意**  
默认情况下，无论您从中创建克隆的环境的解决方案堆栈版本如何，**eb clone** 命令都会使用最新的解决方案堆栈创建克隆环境。您可以在运行此命令时包括 `--exact` 选项来禁止此操作。



**重要**  
克隆的 Elastic Beanstalk 环境不会继承入口的安全组，从而使环境对所有互联网流量开放。您需要为克隆的环境重新建立入口安全组。  
您可以通过检查环境配置的偏差状态来查看可能无法克隆的资源。有关更多信息，请参阅《*AWS CloudFormation 用户指南*》中的[检测整个 CloudFormation 堆栈上的偏差](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/detect-drift-stack.html)。



## 语法
<a name="eb3-clonesyntax"></a>

 **eb clone** 

 **eb clone *environment-name*** 

## 选项
<a name="eb3-cloneoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-n` *string* 或者 `--clone_name` *string*  |  克隆环境的所需名称。  | 
|  `-c` *string* 或者 `--cname` *string*  |  克隆环境的所需别名记录前缀。  | 
|  `--envvars`  |  以逗号分隔的列表中的环境属性，格式*name*为 =。*value* 类型：字符串 约束： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-clone.html)  | 
|  `--exact`  |  防止 Elastic Beanstalk 将新克隆环境的解决方案堆栈版本更新为可用的最新版本（适用于原始环境的平台）。  | 
|  `--scale` *number*  |  在克隆环境启动时要在其中运行的实例的数目。  | 
|  `--tags` *name*=*value*  |  环境中资源的@@ [标签](using-features.tagging.md)以逗号分隔的列表形式显示，格式为 *name* =。*value*  | 
|  `--timeout`  |  命令超时之前的分钟数。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-cloneoutput"></a>

如果成功，此命令将创建一个具有与原始环境相同的设置或具有由任何 **eb clone** 选项指定的环境修改的环境。

## 示例
<a name="eb3-cloneexample"></a>

以下示例克隆指定环境。

```
$ eb clone
Enter name for Environment Clone
(default is tmp-dev-clone):
Enter DNS CNAME prefix
(default is tmp-dev-clone):
Environment details for: tmp-dev-clone
  Application name: tmp
  Region: us-west-2
  Deployed Version: app-141029_144740
  Environment ID: e-vjvrqnn5pv
  Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5
  Tier: WebServer-Standard-1.0
  CNAME: tmp-dev-clone.elasticbeanstalk.com
  Updated: 2014-10-29 22:00:23.008000+00:00
Printing Status:
2018-07-11 21:04:20    INFO: createEnvironment is starting.
2018-07-11 21:04:21    INFO: Using elasticbeanstalk-us-west-2-888888888888 as Amazon S3 storage bucket for environment data.
...
2018-07-11 21:07:10    INFO: Successfully launched environment: tmp-dev-clone
```

# **eb codesource**
<a name="eb3-codesource"></a>

## 说明
<a name="eb3-codesourcedescription"></a>

将 EB CLI 配置为从 CodeCommit存储库进行部署，或者禁用 CodeCommit 集成并从本地计算机上传源包。



**注意**  
某些 AWS 地区不提供 CodeCommit。Elastic Beanstalk 与 Elastic CodeCommit Beanstalk 之间的集成在这些区域不起作用。  
有关每个区域提供的 AWS 服务的信息，请参阅[区域表](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。

## 语法
<a name="eb3-codesourcesyntax"></a>

**eb codesource** 

**eb codesource codecommit**

**eb codesource local**

## 选项
<a name="eb3-codesourceoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-codesourceoutput"></a>

**eb codesource**提示您在 CodeCommit 集成部署和标准部署之间做出选择。

**eb codesource codecommit** 启动 CodeCommit 集成的交互式存储库配置。

**eb codesource local** 显示初始配置并禁用 CodeCommit 集成。

## 示例
<a name="eb3-codesourceexample"></a>

用于**eb codesource codecommit**为当前分支配置 CodeCommit 集成。

```
~/my-app$ eb codesource codecommit
Select a repository
1) my-repo
2) my-app
3) [ Create new Repository ]
(default is 1): 1

Select a branch
1) mainline
2) test
3) [ Create new Branch with local HEAD ]
(default is 1): 1
```

用于禁**eb codesource local**用当前分支的 CodeCommit 集成。

```
~/my-app$ eb codesource local
Current CodeCommit setup:
  Repository: my-app
  Branch: mainline
Default set to use local sources
```

# **eb config**
<a name="eb3-config"></a>

## 说明
<a name="eb3-configdescription"></a>

管理活动[配置](concepts.md#concepts-environmentconfig)设置和您的环境[保存的配置](concepts.md#concepts-configuration)。您可以使用此命令上载、下载或列出环境中已保存的配置。您还可以使用它来下载、显示或更新其活动配置设置。



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

**注意**  
**eb config** 不会显示环境属性。要设置可在您的应用程序中读取的环境属性，请使用 [**eb setenv**](environment-configuration-methods-after.md#configuration-options-after-ebcli-ebsetenv)。

## 语法
<a name="eb3-configsyntax"></a>

以下是 **eb config** 命令用于使用环境的活动[配置设置](concepts.md#concepts-environmentconfig)的部分语法。有关具体示例，请参阅查看本主题后面的[示例](#eb3-configexample)部分。
+  **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\$1string*或文件内部指定的信息更新当前环境的活动配置设置*file\$1path*。

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

下面介绍了使用 **eb config** 命令处理[已保存的配置](concepts.md#concepts-configuration)时遵循的语法。有关示例，请参阅查看本主题后面的[示例](#eb3-configexample)部分。
+ **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*通过提供完整路径来指定。

## 选项
<a name="eb3-configoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `--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 ...]`  |  要添加到保存的配置的标签。在列表中指定标签时，将其指定为键 = 值对，并用逗号分隔每个标签。 有关更多信息，请参阅[标记保存的配置](environment-configuration-savedconfig-tagging.md)。 此选项仅适用于 **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。 配置信息必须符合以下条件。至少需要 **OptionSettings** 或 **OptionsToRemove** 部分之一。使用 **OptionSettings** 添加或更改选项。使用 **OptionsToRemove** 从命名空间中删除选项。有关具体示例，请参阅查看本主题后面的[示例](#eb3-configexample)部分。 

**Example**  
*YAML 格式*  

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

**Example**  
*JSON 格式*  

```
{
   "OptionSettings": {
      "namespace1": {
         "option-name-1": "option-value-1",
         "option-name-2": "option-value-2",
         ...
      }
   },
   "OptionsToRemove": {
      "namespace1": {
         "option-name-1",
         "option-name-2",
         ...
      }
   }
}
```  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-configoutput"></a>

如果 **eb config** 或 **eb 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` 参数的情况下成功运行，则将显示已保存文件的位置。

## 示例
<a name="eb3-configexample"></a>

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

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

```
$ export EDITOR=vim
```

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

```
$ export EDITOR=/usr/bin/kate
```

对于 Windows，以下示例将编辑器更改为 Notepad\$1\$1。

```
> 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%。
+  它从命名空间中移除*了IdleTimeout:None* 的选项设置`AWSEBV2LoadBalancer.aws:elbv2:loadbalancer`。

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

**Example - filename：`example.txt` – YAML 格式**  

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

**Example - 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 文件中所需的空格和 end-of-line回车符。
+ 以“enter”或“Return”键结束每行。
+ 第二行以两个空格开头，第三行以四个空格开头。

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

# **eb console**
<a name="eb3-console"></a>

## 说明
<a name="eb3-consoledescription"></a>

打开浏览器可在 Elastic Beanstalk 管理控制台中显示环境配置控制面板。

如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则该命令还会在 Elastic Beanstalk 管理控制台中显示 `platform.yaml` 中指定的生成器环境配置。

## 语法
<a name="eb3-consolesyntax"></a>

 **eb console** 

 **eb console *environment-name*** 

## 选项
<a name="eb3-consoleoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  [常用选项](eb3-cmd-options.md)  |  | 

# **eb create**
<a name="eb3-create"></a>

## 说明
<a name="eb3-createdescription"></a>

创建新环境并将应用程序版本部署到新环境。

**注意**  
要对 .NET 应用程序使用 **eb create**，您必须按[创建 .NET 应用程序的源包](applications-sourcebundle.md#using-features.deployment.source.dotnet)中所述创建部署程序包，然后按[部署构件而不是项目文件夹](eb-cli3-configuration.md#eb-cli3-artifact)中所述设置 CLI 配置以将程序包部署为构件。
使用 EB CLI 创建环境需要[服务角色](concepts-roles-service.md)。您可以通过在 Elastic Beanstalk 控制台中创建环境来创建服务角色。如果您没有服务角色，EB CLI 会尝试在您运行 `eb create` 时创建一个。

您可以从几个来源部署应用程序版本：
+ 默认情况下：从本地项目目录中的应用程序源代码。
+ 使用 `--version` 选项：从您的应用程序中已存在的应用程序版本。
+ 当您的项目目录不具有应用程序代码时或使用 `--sample` 选项时：从环境平台特定的示例应用程序中部署。

## 语法
<a name="eb3-createsyntax"></a>

**eb create**

**eb create *environment-name***

环境名称长度必须在 4 到 40 个字符之间。名称只能包含字母、数字和连字符（-）。环境名称不能以连字符开头或结尾。

如果您在命令中包括了某个环境名称，EB CLI 不会提示您做出任何选择或创建服务角色。

如果您运行不带环境名称参数的命令，该命令将在交互流中运行，并提示您输入或选择一些设置的值。在此交互流中，如果您要部署示例应用程序，EB CLI 还会询问您是否要将此示例应用程序下载到本地项目目录。下载 EB CLI，您稍后便可以将 EB CLI 用于新环境，以运行需要应用程序代码（如 [**eb deploy**](eb3-deploy.md)）的操作。

某些交互式流提示仅在特定条件下显示。例如，如果您选择使用 Application Load Balancer，并且您的账户至少有一个可共享的 Application Load Balancer，则 Elastic Beanstalk 会显示一条提示，询问您是否要使用共享的负载均衡器。如果您的账户中不存在可共享的 Application Load Balancer，则不会显示此提示。

## 选项
<a name="eb3-createoptions"></a>

这些选项都不是必需的。如果您运行 **eb create** 时不指定任何选项，EB CLI 会提示您为每个设置输入或选择值。


****  

|  名称  |  描述  | 
| --- | --- | 
|  `-d` 或 `--branch_default`  |  将环境设置为当前存储库的默认环境。  | 
|  `--cfg` *config-name*  |  [使用保存的配置中的平台设置](environment-configuration-methods-during.md#configuration-options-during-ebcli-savedconfig)，保存的配置位于 `.elasticbeanstalk/saved_configs/` 或您的 Amazon S3 存储桶中。仅指定文件的名称，无需 `.cfg.yml` 扩展名。  | 
|  `-c` *subdomain-name* 或者 `--cname` *subdomain-name*  |  要为路由到您的网站的 CNAME DNS 条目添加前缀的子域名。 类型：字符串 默认值：环境名称  | 
|  `-db` 或 `--database`  |  将数据库附加到环境。如果您运行带 **eb create** 选项（而不带 `--database` 和 `--database.username` 选项）的 `--database.password`，EB CLI 将提示您输入主数据库的用户名和密码。  | 
|  `-db.engine` *engine* 或者 `--database.engine` *engine*  |  数据库引擎类型。如果您运行带此选项的 **eb create**，EB CLI 将启动附加了数据库的环境。即使您没有运行带 `--database` 选项的命令，亦是如此。 类型：字符串 有效值：`mysql`、`oracle-se1`、`postgres`、`sqlserver-ex`、`sqlserver-web`、`sqlserver-se`  | 
|  `-db.i` *instance\$1type* 或者 `--database.instance` *instance\$1type*  |  用于数据库的 Amazon EC2 实例的类型。如果您运行带此选项的 **eb create**，EB CLI 将启动附加了数据库的环境。即使您没有运行带 `--database` 选项的命令，亦是如此。 类型：字符串 有效值： Amazon RDS 支持一组标准的数据库实例。要为数据库引擎选择合适的数据库实例，您必须考虑一些特定的注意事项。有关更多信息，请参阅《Amazon RDS 用户指南》**中的[数据库实例类](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)。  | 
|  `-db.pass` *password* 或者 `--database.password` *password*  |  数据库的密码。如果您运行带此选项的 **eb create**，EB CLI 将启动附加了数据库的环境。即使您没有运行带 `--database` 选项的命令，亦是如此。  | 
|  `-db.size` *number\$1of\$1gigabytes* 或者 `--database.size` *number\$1of\$1gigabytes*  |  要为数据库存储分配的 GB 数。如果您运行带此选项的 **eb create**，EB CLI 将启动附加了数据库的环境。即使您没有运行带 `--database` 选项的命令，亦是如此。 类型：数字 有效值： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-create.html)  | 
|  `-db.user` *username* 或者 `--database.username` *username*  |  数据库的用户名。如果您运行带此选项的 **eb create**，EB CLI 将启动附加了数据库的环境（即使您没有运行带 `--database` 选项的命令）。如果您运行带 **eb create** 选项（而不带 `--database` 和 `--database.username` 选项）的 `--database.password`，EB CLI 将提示您输入主数据库用户名和密码。  | 
|  `-db.version` *version* 或者 `--database.version` *version*  |  可用于指定数据库引擎版本。如果此标志存在，环境将随带指定版本号的数据库一起启动（即使 `--database` 标志不存在）。  | 
|  `--elb-type` *type*  |  [负载均衡器类型](using-features.managing.elb.md)。 类型：字符串 有效值：`classic`、`application`、`network` 默认值：`application`  | 
|  `-es` 或 `--enable-spot`  |  为您的环境启用 Spot 实例请求。有关更多信息，请参阅[自动扩缩组](using-features.managing.as.md)。 相关选项： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-create.html)  | 
| --env-group-suffix groupname | 要附加到环境名的组名。只能与[编写环境](ebcli-compose.md)一起使用。 | 
|  `--envvars`  |  以逗号分隔的列表中的@@ [环境属性](environments-cfg-softwaresettings.md)，格式*name*为 =。*value*有关限制，请参阅[配置环境属性（环境变量）](environments-cfg-softwaresettings.md#environments-cfg-softwaresettings-console)。  | 
|  `-ip` *profile\$1name* 或者 `--instance_profile` *profile\$1name*  |  具有 IAM 角色的实例配置文件，其中包含您的应用程序访问 AWS 资源所需的临时安全证书。  | 
|  `-it` 或者 `-﻿-﻿instance-types type1[,type2 ...]`  |  您希望您的环境使用的 Amazon EC2 实例类型列表，以逗号分隔。如果不指定此选项，则 Elastic Beanstalk 将提供默认实例类型。 有关更多信息，请参阅[亚马逊 EC2 实例](using-features.managing.ec2.md)和[自动扩缩组](using-features.managing.as.md)。  EB CLI 仅将此选项应用于 Spot 实例。除非结合使用此选项和 `--enable-spot` 选项，EB CLI 才将忽略它。要为按需实例指定实例类型，请使用 `--intance-type`（无“s”）选项。   | 
|  `-i` 或者 `--instance_type`  |  您希望您的环境使用的 Amazon EC2 实例类型。如果不指定此选项，则 Elastic Beanstalk 将提供默认实例类型。 有关更多信息，请参阅[亚马逊 EC2 实例](using-features.managing.ec2.md)。  EB CLI 仅将此选项应用于按需实例。不要将此选项与 `--enable-spot` 选项一同使用，因为当您执行此操作时，EB CLI 会忽略它。要为 Spot 实例指定实例类型，请使用 `--intance-types`（无“s”）选项。   | 
|  `-k` *key\$1name* 或者 `--keyname` *key\$1name*  |  用于安全外壳 (SSH) 客户端的亚马逊 EC2 密钥对的名称，用于安全登录运行 Elastic Beanstalk 应用程序的亚马逊 EC2 实例。如果您将此选项与 **eb create** 命令一起包含，则提供的值将覆盖您可能已使用 **eb init** 指定的任何密钥名称。 有效值：已在 Amazon 注册的现有密钥名称 EC2  | 
|  `-im` *number-of-instances* 或者 `--min-instances` *number-of-instances*  |  您的环境需要拥有的最少数量的 Amazon EC2 实例。 类型：数字（整数） 默认值：`1` 有效值：`1` 到 `10000`  | 
|  `-ix` *number-of-instances* 或者 `--max-instances` *number-of-instances*  |  您允许您的环境拥有的最大 Amazon EC2 实例数量。 类型：数字（整数） 默认值：`4` 有效值：`1` 到 `10000`  | 
|  `--modules` *component-a component-b*  | 要创建的组件环境的列表。只能与[编写环境](ebcli-compose.md)一起使用。 | 
|  `-sb` 或 `--on-demand-base-capacity`  |  扩展环境时，在考虑 Spot 实例之前，Auto Scaling 组预配置的最小按需实例数。 此选项只能使用 `--enable-spot` 选项指定。有关更多信息，请参阅[自动扩缩组](using-features.managing.as.md)。 类型：数字（整数） 默认值：`0` 有效值：`0` 至 `--max-instances`（当不存在时：`MaxSize` [aws:autoscaling:asg](command-options-general.md#command-options-general-autoscalingasg) 命名空间中的 `aws:autoscaling:asg` 选项）  | 
|  `-sp` 或 `--on-demand-above-base-capacity`  |  Auto Scaling 组在 `--on-demand-base-capacity` 选项指定的超过的实例数作为额外容量预配置的按需实例的百分比。 此选项只能使用 `--enable-spot` 选项指定。有关更多信息，请参阅[自动扩缩组](using-features.managing.as.md)。 类型：数字（整数） 默认值：`0` 用于单个实例环境； `70` 用于负载均衡环境 有效值：`0` 到 `100`  | 
|  `-p` *platform-version* 或者 `--platform` *platform-version*  |  要使用的[平台版本](concepts.platforms.md)。您可以指定平台、平台和版本、平台分支、解决方案堆栈名称或解决方案堆栈 ARN。例如： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-create.html) 使用 [`eb platform list`](eb3-platform.md) 获取可用配置的列表。 如果您指定 `--platform` 选项，则它会覆盖 `eb init` 期间提供的值。  | 
|  `-pr` 或 `--process`  |  预处理并验证源代码包中的环境清单和配置文件。通过验证配置文件，可以在将应用程序版本部署到环境之前发现问题。  | 
|  `-r` *region* 或者 `--region` *region*  |  您要部署应用程序的 AWS 区域。 有关可以为此选项指定的值列表，请参阅 *AWS 一般参考* 中的 [AWS Elastic Beanstalk 端点和配额](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html)。  | 
|  `--sample`  |  将示例应用程序部署到新环境，而不是您的存储库中的代码。  | 
|  `--scale` *number-of-instances*  |  与指定数量的实例一起启动  | 
| --service-role servicerole | 将非默认服务角色分配到环境。 不要输入 ARN。仅输入角色名称。Elastic Beanstalk 会用正确的值为角色名称添加前缀，以在内部创建生成的 ARN。  | 
|  `-ls` *load-balancer* 或者 `--shared-lb` *load-balancer*  |  将环境配置为使用共享的负载均衡器。在您的账户中提供可共享的负载均衡器的名称或 ARN - 您显式创建而不是由其他 Elastic Beanstalk 环境创建的 Application Load Balancer。有关更多信息，请参阅[共享 Application Load Balancer](environments-cfg-alb-shared.md)。 参数示例： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-create.html) 您只能使用 `--elb-type application` 指定此选项。如果您指定了该选项但未指定 `--shared-lb`，则 Elastic Beanstalk 为环境创建一个专用的负载均衡器。  | 
|  `-lp` *port* 或者 `--shared-lb-port` *port*  |  此环境的共享负载均衡器的默认侦听器端口。Elastic Beanstalk 添加了一个侦听器规则，该规则将来自此侦听器的所有流量路由到默认环境进程。有关更多信息，请参阅[共享 Application Load Balancer](environments-cfg-alb-shared.md)。 类型：数字（整数） 默认值：`80` 有效值：表示共享的负载均衡器的侦听器端口的任何整数。  | 
|  `--single`  |  使用单个 Amazon EC2 实例且不使用负载均衡器创建环境。  单实例环境不适用于生产。如果实例在部署期间变得不稳定，或者 Elastic Beanstalk 在配置更新期间终止并重新启动实例，则您的应用程序可能会在一段时间内不可用。可将单实例环境用于开发、测试或暂存。使用负载均衡环境进行生产。   | 
|  `-sm` 或 `--spot-max-price`  |  您愿意为 Spot 实例支付的每单位小时的最高价（美元）。 此选项只能使用 `--enable-spot` 选项指定。有关更多信息，请参阅[自动扩缩组](using-features.managing.as.md)。 类型：数字（浮点数） 默认：每种实例类型的按需价格。在这种情况下，该选项的值为 `null`。 有效值：`0.001` 到 `20.0` 有关竞价型实例最高价格选项的建议，请参阅 *Amazon EC2 用户指南*中的[竞价型实例定价历史记录](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)。  | 
|  `-﻿-﻿tags key1=value1[,key2=value2 ...]`  |  在环境中标记资源。将标签指定为逗号分隔的 `key=value` 对的列表。 有关更多信息，请参阅 [为环境添加标签](using-features.tagging.md)。  | 
|  `-t worker` 或 `--tier worker`  | 创建一个工作线程环境。忽略此选项，以创建 Web 服务器环境。 | 
|  `--timeout` *minutes*  |  命令超时之前的设定分钟数。  | 
|  `--version` *version\$1label*  |  指定要部署到环境中的应用程序版本，而不是本地项目目录中的应用程序员代码。 类型：字符串 有效值：现有的应用程序版本标签  | 
|  `--vpc`  |  为您的环境配置 VPC。当您包含此选项时，EB CLI 会提示您在启动环境之前输入所有必需的设置。  | 
|  `--vpc.dbsubnets subnet1,subnet2`  |  在 VPC 中指定数据库实例的子网。在指定 `--vpc.id` 时是必需的。  | 
|  `--vpc.ec2subnets subnet1,subnet2`  |  为 VPC 中的 Amazon EC2 实例指定子网。在指定 `--vpc.id` 时是必需的。  | 
|  `--vpc.elbpublic`  |  在 VPC 的公有子网中启动 Elastic Load Balancing 负载均衡器。 您无法使用 `--tier worker` 或 `--single` 选项指定此选项。  | 
|  `--vpc.elbsubnets subnet1,subnet2`  |  在 VPC 中指定 Elastic Load Balancing 负载均衡器的子网。 您无法使用 `--tier worker` 或 `--single` 选项指定此选项。  | 
|  `--vpc.id ID`  |  在指定的 VPC 中启动您的环境。  | 
|  `--vpc.publicip`  |  在您的 VPC 的公有子网中启动您的 Amazon EC2 实例。 您无法使用 `--tier worker` 选项指定此选项。  | 
|  `--vpc.securitygroups securitygroup1,securitygroup2`  |  指定安全组 IDs。在指定 `--vpc.id` 时是必需的。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-createoutput"></a>

如果成功，则命令将通过问题来提示您，然后返回创建操作的状态。如果在启动期间发生问题，则可以使用 [**eb events**](eb3-events.md) 操作获取更多详细信息。

如果您在应用程序中启用了 CodeBuild 支持，则会在生成代码 CodeBuild 时**eb create**显示来自的信息。有关 Elastic Beanstalk 中 CodeBuild 支持的信息，请参阅。[将 EB CLI 与 AWS CodeBuild](eb-cli-codebuild.md)

## 示例
<a name="eb3-createexample1"></a>

下面的示例以交互模式创建环境。

```
$ eb create
Enter Environment Name
(default is tmp-dev): ENTER
Enter DNS CNAME prefix
(default is tmp-dev): ENTER
Select a load balancer type
1) classic
2) application
3) network
(default is 2): ENTER
Environment details for: tmp-dev
  Application name: tmp
  Region: us-east-2
  Deployed Version: app-141029_145448
  Environment ID: e-um3yfrzq22
  Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5
  Tier: WebServer-Standard-1.0
  CNAME: tmp-dev.elasticbeanstalk.com
  Updated: 2014-10-29 21:54:51.063000+00:00
Printing Status:
...
```

下面的示例还在交互模式下创建环境。在此示例中，您的项目目录没有应用程序代码。该命令将部署一个示例应用程序，然后将其下载到您的本地项目目录中。

```
$ eb create
Enter Environment Name
(default is tmp-dev): ENTER
Enter DNS CNAME prefix
(default is tmp-dev): ENTER
Select a load balancer type
1) classic
2) application
3) network
(default is 2): ENTER
NOTE: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead.
Do you want to download the sample application into the current directory?
(Y/n): ENTER
INFO: Downloading sample application to the current directory.
INFO: Download complete.
Environment details for: tmp-dev
  Application name: tmp
  Region: us-east-2
  Deployed Version: Sample Application
  Environment ID: e-um3yfrzq22
  Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5
  Tier: WebServer-Standard-1.0
  CNAME: tmp-dev.elasticbeanstalk.com
  Updated: 2017-11-08 21:54:51.063000+00:00
Printing Status:
...
```

下面的命令创建一个环境但不显示任何提示。

```
$ eb create dev-env
Creating application version archive "app-160312_014028".
Uploading test/app-160312_014028.zip to S3. This may take a while.
Upload Complete.
Application test has been created.
Environment details for: dev-env
  Application name: test
  Region: us-east-2
  Deployed Version: app-160312_014028
  Environment ID: e-6fgpkjxyyi
  Platform: 64bit Amazon Linux 2015.09 v2.0.8 running PHP 5.6
  Tier: WebServer-Standard
  CNAME: UNKNOWN
  Updated: 2016-03-12 01:40:33.614000+00:00
Printing Status:
...
```

下面的命令在自定义 VPC 中创建一个环境。

```
$ eb create dev-vpc --vpc.id vpc-0ce8dd99 --vpc.elbsubnets subnet-b356d7c6,subnet-02f74b0c --vpc.ec2subnets subnet-0bb7f0cd,subnet-3b6697c1 --vpc.securitygroup sg-70cff265
Creating application version archive "app-160312_014309".
Uploading test/app-160312_014309.zip to S3. This may take a while.
Upload Complete.
Environment details for: dev-vpc
  Application name: test
  Region: us-east-2
  Deployed Version: app-160312_014309
  Environment ID: e-pqkcip3mns
  Platform: 64bit Amazon Linux 2015.09 v2.0.8 running Java 8
  Tier: WebServer-Standard
  CNAME: UNKNOWN
  Updated: 2016-03-12 01:43:14.057000+00:00
Printing Status:
...
```

# **eb deploy**
<a name="eb3-deploy"></a>

## 说明
<a name="eb3-deploydescription"></a>

将应用程序源包从初始化的项目目录部署到正在运行的应用程序。

如果已安装 Git，EB CLI 将使用 `git archive` 命令根据最新的 `git commit` 命令的内容创建一个 `.zip` 文件。

但是，如果 `.ebignore` 存在于项目目录中，EB CLI 将不使用 git 命令和语义创建源包。这就意味着 EB CLI 将忽略 `.ebignore` 中指定的文件，并包括所有其他文件。具体而言，它会包括未提交的源文件。

**注意**  
您可以将 EB CLI 配置为从构建过程部署工件而不是创建项目文件夹 ZIP 文件。有关更多信息，请参阅[部署构件而不是项目文件夹](eb-cli3-configuration.md#eb-cli3-artifact)。

## 语法
<a name="eb3-deploysyntax"></a>

 **eb deploy** 

 **eb deploy *environment-name*** 

## 选项
<a name="eb3-deployoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-l` *version\$1label* 或者 `--label` *version\$1label*  |  指定要用作 EB CLI 所创建版本的标签。如果该标签已被使用，EB CLI 将重新部署使用该标签的先前版本。 类型：字符串  | 
| --env-group-suffix groupname | 要附加到环境名的组名。只能与[编写环境](ebcli-compose.md)一起使用。 | 
|  `-m` "*version\$1description*" 或者 `--message` "*version\$1description*"  |  应用程序版本的描述（用双引号引起来）。 类型：字符串  | 
|  `--modules` *component-a component-b*  | 要更新的组件的列表。只能与[编写环境](ebcli-compose.md)一起使用。 | 
|  `-p` 或 `--process`  |  预处理并验证源代码包中的环境清单和配置文件。通过验证配置文件，可以在将应用程序版本部署到环境之前发现问题。  | 
|  `--source codecommit/repository-name/branch-name`  |  CodeCommit 存储库和分支。  | 
|  `--staged`  |  部署暂存在 Git 索引中而不是 HEAD 提交中的文件。  | 
|  `--timeout` *minutes*  |  命令超时之前的分钟数。  | 
|  `--version` *version\$1label*  |  要部署的现有应用程序版本。 类型：字符串  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-deployoutput"></a>

如果成功，则该命令返回 `deploy` 操作的状态。

如果您在应用程序中启用了 CodeBuild 支持，则会在生成代码 CodeBuild 时**eb deploy**显示来自的信息。有关 Elastic Beanstalk 中 CodeBuild 支持的信息，请参阅。[将 EB CLI 与 AWS CodeBuild](eb-cli-codebuild.md)

## 示例
<a name="eb3-deployexample"></a>

下面的示例将部署当前应用程序。

```
$ eb deploy
2018-07-11 21:05:22    INFO: Environment update is starting.
2018-07-11 21:05:27    INFO: Deploying new version to instance(s).
2018-07-11 21:05:53    INFO: New application version was deployed to running EC2 instances.
2018-07-11 21:05:53    INFO: Environment update completed successfully.
```

# **eb events**
<a name="eb3-events"></a>

## 说明
<a name="eb3-eventsdescription"></a>

返回环境的最近事件。

如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则此命令还会返回构建器环境的最新事件。

## 语法
<a name="eb3-eventssyntax"></a>

 **eb events** 

 **eb events *environment-name*** 

## 选项
<a name="eb3-eventsoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-f` 或 `--follow`  |  流式传输事件。要取消，请按 Ctrl\$1C。  | 

## Output
<a name="eb3-eventsoutput"></a>

如果成功，命令将返回最新事件。

## 示例
<a name="eb3-eventsexample"></a>

下面的示例返回 个最近事件。

```
$ eb events
2014-10-29 21:55:39     INFO    createEnvironment is starting.
2014-10-29 21:55:40     INFO    Using elasticbeanstalk-us-west-2-111122223333 as Amazon S3 storage bucket for environment data.
2014-10-29 21:55:57     INFO    Created load balancer named: awseb-e-r-AWSEBLoa-NSKUOK5X6Z9J
2014-10-29 21:56:16     INFO    Created security group named: awseb-e-rxgrhjr9bx-stack-AWSEBSecurityGroup-1UUHU5LZ20ZY7
2014-10-29 21:57:18     INFO    Waiting for EC2 instances to launch. This may take a few minutes.
2014-10-29 21:57:18     INFO    Created Auto Scaling group named: awseb-e-rxgrhjr9bx-stack-AWSEBAutoScalingGroup-1TE320ZCJ9RPD
2014-10-29 21:57:22     INFO    Created Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:11122223333:scalingPolicy:2cced9e6-859b-421a-be63-8ab34771155a:autoScalingGroupName/awseb-e-rxgrhjr9bx-stack-AWSEBAutoScalingGroup-1TE320ZCJ9RPD:policyName/awseb-e-rxgrhjr9bx-stack-AWSEBAutoScalingScaleUpPolicy-1I2ZSNVU4APRY
2014-10-29 21:57:22     INFO    Created Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:11122223333:scalingPolicy:1f08b863-bf65-415a-b584-b7fa3a69a0d5:autoScalingGroupName/awseb-e-rxgrhjr9bx-stack-AWSEBAutoScalingGroup-1TE320ZCJ9RPD:policyName/awseb-e-rxgrhjr9bx-stack-AWSEBAutoScalingScaleDownPolicy-1E3G7PZKZPSOG
2014-10-29 21:57:25     INFO    Created CloudWatch alarm named: awseb-e-rxgrhjr9bx-stack-AWSEBCloudwatchAlarmLow-VF5EJ549FZBL
2014-10-29 21:57:25     INFO    Created CloudWatch alarm named: awseb-e-rxgrhjr9bx-stack-AWSEBCloudwatchAlarmHigh-LA9YEW3O6WJO
2014-10-29 21:58:50     INFO    Added EC2 instance 'i-c7ee492d' to Auto ScalingGroup 'awseb-e-rxgrhjr9bx-stack-AWSEBAutoScalingGroup-1TE320ZCJ9RPD'.
2014-10-29 21:58:53     INFO    Successfully launched environment: tmp-dev
2014-10-29 21:59:14     INFO    Environment health has been set to GREEN
2014-10-29 21:59:43     INFO    Adding instance 'i-c7ee492d' to your environment.
```

# **eb health**
<a name="eb3-health"></a>

## 说明
<a name="eb3-healthdescription"></a>

返回环境的最新运行状况。

如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则该命令还会返回生成器环境的最新运行状况。

## 语法
<a name="eb3-healthsyntax"></a>

 **eb health** 

 **eb health *environment-name*** 

## 选项
<a name="eb3-healthoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-r` 或 `--refresh`  |  以交互方式显示运行状况信息并在报告新信息时每 10 秒更新一次。  | 
| --mono | 不要在输出中显示颜色。 | 

## Output
<a name="eb3-healthoutput"></a>

如果成功，命令将返回最新的运行状况。

## 示例
<a name="eb3-healthexample"></a>

以下示例返回 Linux 环境的最新运行状况信息。

```
~/project $ eb health
 elasticBeanstalkExa-env                                  Ok                       2015-07-08 23:13:20
WebServer                                                                              Ruby 2.1 (Puma)
  total      ok    warning  degraded  severe    info   pending  unknown
    5        5        0        0        0        0        0        0

  instance-id   status     cause                                                                                                health
    Overall     Ok
  i-d581497d    Ok
  i-d481497c    Ok
  i-136e00c0    Ok
  i-126e00c1    Ok
  i-8b2cf575    Ok

  instance-id   r/sec    %2xx   %3xx   %4xx   %5xx      p99      p90      p75     p50     p10                                 requests
    Overall     671.8   100.0    0.0    0.0    0.0    0.003    0.002    0.001   0.001   0.000
  i-d581497d    143.0    1430      0      0      0    0.003    0.002    0.001   0.001   0.000
  i-d481497c    128.8    1288      0      0      0    0.003    0.002    0.001   0.001   0.000
  i-136e00c0    125.4    1254      0      0      0    0.004    0.002    0.001   0.001   0.000
  i-126e00c1    133.4    1334      0      0      0    0.003    0.002    0.001   0.001   0.000
  i-8b2cf575    141.2    1412      0      0      0    0.003    0.002    0.001   0.001   0.000

  instance-id   type       az   running     load 1  load 5      user%  nice%  system%  idle%   iowait%                             cpu
  i-d581497d    t2.micro   1a   12 mins        0.0    0.04        6.2    0.0      1.0   92.5       0.1
  i-d481497c    t2.micro   1a   12 mins       0.01    0.09        5.9    0.0      1.6   92.4       0.1
  i-136e00c0    t2.micro   1b   12 mins       0.15    0.07        5.5    0.0      0.9   93.2       0.0
  i-126e00c1    t2.micro   1b   12 mins       0.17    0.14        5.7    0.0      1.4   92.7       0.1
  i-8b2cf575    t2.micro   1c   1 hour        0.19    0.08        6.5    0.0      1.2   92.1       0.1
  
  instance-id   status     id   version              ago                                                                   deployments
  i-d581497d    Deployed   1    Sample Application   12 mins
  i-d481497c    Deployed   1    Sample Application   12 mins
  i-136e00c0    Deployed   1    Sample Application   12 mins
  i-126e00c1    Deployed   1    Sample Application   12 mins
  i-8b2cf575    Deployed   1    Sample Application   1 hour
```

# **eb init**
<a name="eb3-init"></a>

## 说明
<a name="eb3-initdescription"></a>

通过一系列问题来提示您，设置使用 EB CLI 创建的 Elastic Beanstalk 应用程序的默认值。

**注意**  
使用 **eb init** 设置的值适用于当前计算机上的当前目录和存储库。  
该命令会在您的账户中创建 Elastic Beanstalk 应用程序。要创建 Elastic Beanstalk 环境，请在运行 **eb init** 后运行 **[eb create](eb3-create.md)**。

## 语法
<a name="eb3-initsyntax"></a>

 **eb init** 

 **eb init** *application-name* 

## 选项
<a name="eb3-initoptions"></a>

如果您运行 **eb init** 时不指定 `--platform` 选项，EB CLI 会提示您为每个设置输入值。

**注意**  
要使用 **eb init** 创建新的密钥对，`ssh-keygen` 必须已在本地计算机上安装且能够从命令行访问。


****  

|  名称  |  描述  |  | 
| --- | --- | --- | 
|  `-i` `--interactive`  |  强制 EB CLI 提示您为每个 **eb init** 命令选项提供值。  `init` 命令提示您为不具有（默认）值的 **eb init** 命令选项提供值。在您首次在目录中运行 **eb init** 命令后，EB CLI 可能不会提示您输入任何命令选项。因此，当您想更改之前设定的设置时，请使用 `--interactive` 选项。   |  | 
|  `-k` *keyname* `--keyname` *keyname*  |  用于安全外壳 (SSH) 客户端的亚马逊 EC2 密钥对的名称，用于安全登录运行 Elastic Beanstalk 应用程序的亚马逊 EC2 实例。  |  | 
|  `--modules folder-1 folder-2`  |  要初始化的子目录的列表。只能与[编写环境](ebcli-compose.md)一起使用。  |  | 
|  `-p` *platform-version*  `--platform` *platform-version*  |  要使用的[平台版本](concepts.platforms.md)。您可以指定平台、平台和版本、平台分支、解决方案堆栈名称或解决方案堆栈 ARN。例如： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-init.html) 使用 [`eb platform list`](eb3-platform.md) 获取可用配置的列表。 指定 `--platform` 选项可跳过交互式配置。  在指定此选项时，EB CLI 不会提示您输入任何其他选项的值。相反，它将假定每个选项的默认值。您可以为不需要为其使用默认值的任何项指定选项。   |  | 
|  `--source codecommit/repository-name/branch-name`  |  CodeCommit 存储库和分支。  |  | 
|  `-﻿-﻿tags key1=value1[,key2=value2 ...]`  |  标记应用程序。将标签指定为逗号分隔的 `key=value` 对的列表。 有关更多信息，请参阅[标记应用程序](applications-tagging.md)。  | 
|  [常用选项](eb3-cmd-options.md)  |  |  | 

## CodeBuild 支持
<a name="eb3-init-codebuild"></a>

如果您在包含 [buildspec.yml](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) 文件的文件夹中运行 **eb init**，Elastic Beanstalk 会使用特定于 Elastic Beanstalk 的选项解析文件中的 **eb\$1codebuild\$1settings** 条目。有关 Elastic Beanstalk 中 CodeBuild 支持的信息，请参阅。[将 EB CLI 与 AWS CodeBuild](eb-cli-codebuild.md)

## Output
<a name="eb3-initoutput"></a>

如果成功，该命令将通过一系列提示指导您设置新的 Elastic Beanstalk 应用程序。

## 示例
<a name="eb3-initexample"></a>

下面的示例请求对 EB CLI 进行初始化，并提示您输入有关您的应用程序的信息。用您自己的值替换*placeholder*文本。

```
$ eb init -i
Select a default region
1) us-east-1 : US East (N. Virginia)
2) us-west-1 : US West (N. California)
3) us-west-2 : US West (Oregon)
4) eu-west-1 : Europe (Ireland)
5) eu-central-1 : Europe (Frankfurt)
6) ap-south-1 : Asia Pacific (Mumbai)
7) ap-southeast-1 : Asia Pacific (Singapore)
...
(default is 3): 3

Select an application to use
1) HelloWorldApp
2) NewApp
3) [ Create new Application ]
(default is 3): 3

Enter Application Name
(default is "tmp"):
Application tmp has been created.

It appears you are using PHP. Is this correct?
(y/n): y

Select a platform branch.
1) PHP 7.2 running on 64bit Amazon Linux
2) PHP 7.1 running on 64bit Amazon Linux (Deprecated)
3) PHP 7.0 running on 64bit Amazon Linux (Deprecated)
4) PHP 5.6 running on 64bit Amazon Linux (Deprecated)
5) PHP 5.5 running on 64bit Amazon Linux (Deprecated)
6) PHP 5.4 running on 64bit Amazon Linux (Deprecated)
(default is 1): 1
Do you want to set up SSH for your instances?
(y/n): y

Select a keypair.
1) aws-eb
2) [ Create new KeyPair ]
(default is 2): 1
```

# **eb labs**
<a name="eb3-labs"></a>

## 说明
<a name="eb3-labsdescription"></a>

**eb labs**支持 work-in-progress或实验功能的子命令。在将来版本的 EB CLI 中，这些命令可能被删除或改动，且不一定向前兼容。

有关可用子命令和说明的列表，请运行 **eb labs --help**。

# **eb list**
<a name="eb3-list"></a>

## 说明
<a name="eb3-listdescription"></a>

按照 `--all` 选项所指定的方式列出当前应用程序中的所有环境或所有应用程序中的所有环境。

如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则该命令还会列出生成器环境。

## 语法
<a name="eb3-listsyntax"></a>

 **eb list** 

## 选项
<a name="listoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-a` 或 `--all`  |  列出来自所有应用程序的所有环境。  | 
|  `-v` 或 `--verbose`  |  提供有关所有环境（包括实例）的更多详细信息。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-listoutput"></a>

如果成功，命令将返回环境名称列表，其中您的当前环境用星号（\$1）标记。

## 示例 1
<a name="eb3-listexample1"></a>

以下示例列出您的环境，并指示 tmp-dev 是您的默认环境。

```
$ eb list
* tmp-dev
```

## 示例 2
<a name="eb3-listexample2"></a>

以下示例列出您的环境和附加详细信息。

```
$ eb list --verbose
Region: us-west-2
Application: tmp
    Environments: 1
        * tmp-dev : ['i-c7ee492d']
```

# **eb local**
<a name="eb3-local"></a>

## 说明
<a name="eb3-localdescription"></a>

使用 **eb local run** 可在 Docker 本地运行您的应用程序容器。使用 **eb local status** 检查应用程序容器的状态。使用 **eb local open** 在 Web 浏览器中打开应用程序。使用 **eb local logs** 检索应用程序日志的位置。

使用 **eb local setenv** 和 **eb local printenv** 可以设置和查看环境变量，这些环境变量是为您使用 **eb local run** 本地运行的 Docker 容器提供的。

必须在 Docker 应用程序项目目录中运行所有 **eb local** 命令，该应用程序已使用 **eb init** 初始化为 EB CLI 存储库。

**注意**  
在运行 Linux 或 macOS 的本地计算机上使用 **eb local**。该命令不支持 Windows。  
在 macOS 上使用此命令之前，请安装 Docker for Mac，并确保未安装 boot2docker（或其不在执行路径中）。**eb local** 命令会尝试使用 boot2docker（如果它存在），但两者在 macOS 上不能很好地配合使用。

## 语法
<a name="eb3-localsyntax"></a>

**eb local run**

**eb local status**

**eb local open**

**eb local logs**

**eb local setenv**

**eb local printenv**

## 选项
<a name="eb3-localoptions"></a>

**eb local run**


****  

|  Name  |  描述  | 
| --- | --- | 
|  `--envvars key1=value1,key2=value2`  |  设置 EB CLI 将传递到本地 Docker 容器的环境变量。在多容器环境中，所有变量将传递到所有容器。  | 
|  `--port hostport`  |  将主机上的端口映射到容器上公开的端口。如果您不指定此选项，EB CLI 将在主机和容器上使用相同的端口。 此选项仅适用于 Docker 平台应用程序。它不适用于多容器 Docker 平台。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

**eb local status**

**eb local open**

**eb local logs**

**eb local setenv**

**eb local printenv**

 


****  

|  名称  |  描述  | 
| --- | --- | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-localoutput"></a>

**eb local run**

来自 Docker 的状态消息。只要应用程序在运行，就保持有效。按 **Ctrl\$1C** 可停止应用程序。

**eb local status**

应用程序使用的每个容器的状态，即是否正在运行。

**eb local open**

在 Web 浏览器中打开应用程序并退出。

**eb local logs**

由使用 **eb local run** 本地运行的应用程序在项目目录中生成日志的位置。

**eb local setenv**

无

**eb local printenv**

使用 **eb local setenv** 设置的环境变量的名称和值。

## 示例
<a name="eb3-localexamples"></a>

**eb local run**

```
~/project$ eb local run
Creating elasticbeanstalk_phpapp_1...
Creating elasticbeanstalk_nginxproxy_1...
Attaching to elasticbeanstalk_phpapp_1, elasticbeanstalk_nginxproxy_1
phpapp_1     | [23-Apr-2015 23:24:25] NOTICE: fpm is running, pid 1
phpapp_1     | [23-Apr-2015 23:24:25] NOTICE: ready to handle connections
```

**eb local status**

查看本地容器的状态：

```
~/project$ eb local status
Platform: 64bit Amazon Linux 2014.09 v1.2.1 running Multi-container Docker 1.3.3 (Generic)
Container name: elasticbeanstalk_nginxproxy_1
Container ip: 127.0.0.1
Container running: True
Exposed host port(s): 80
Full local URL(s): 127.0.0.1:80

Container name: elasticbeanstalk_phpapp_1
Container ip: 127.0.0.1
Container running: True
Exposed host port(s): None
Full local URL(s): None
```

**eb local logs**

查看当前项目的日志路径：

```
~/project$ eb local logs
Elastic Beanstalk will write logs locally to /home/user/project/.elasticbeanstalk/logs/local.
Logs were most recently created 3 minutes ago and written to /home/user/project/.elasticbeanstalk/logs/local/150420_234011665784.
```

**eb local setenv**

设置要用于 **eb local run** 的环境变量。

```
~/project$ eb local setenv PARAM1=value
```

输出使用 **eb local setenv** 设置的环境变量。

```
~/project$ eb local printenv
Environment Variables:
PARAM1=value
```

# **eb logs**
<a name="eb3-logs"></a>

## 说明
<a name="eb3-logsdescription"></a>

该**eb logs**命令有三个不同的用途：启用或禁用流向日志的 CloudWatch 日志、检索实例日志或 CloudWatch 日志日志，以及请求对您的环境进行 AI 支持的分析。此命令与 `--cloudwatch-logs`（`-cw`）选项结合使用时启用或禁用日志流式传输。使用 `--analyze` (`-ai`) 选项，该命令会请求对环境的日志、事件和实例运行状况进行 AI 驱动的分析。如果没有这两个选项中的任何一个，它就会检索日志。

检索日志时，请指定 `--all`、`--zip` 或 `--stream` 选项以检索全部日志。如果未指定上述任何选项，则 Elastic Beanstalk 将检索结尾日志。

此命令将处理指定或默认环境的日志。相关日志因容器类型而异。如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则此命令还会处理生成器环境的日志。

有关更多信息，请参阅 [将 Elastic Bean CloudWatch stalk 与亚马逊日志一起使用](AWSHowTo.cloudwatchlogs.md)。有关 AI 支持的分析的更多信息，请参阅[人工智能驱动的环境分析](health-ai-analysis.md)。

## 语法
<a name="eb3-logssyntax"></a>

 要启用或禁用流向日志的 CloudWatch 日志，请执行以下操作：

```
eb logs --cloudwatch-logs [enable | disable] [--cloudwatch-log-source instance | environment-health | all] [environment-name]
```

 检索实例日志：

```
eb logs [-all | --zip | --stream] [--cloudwatch-log-source instance] [--instance instance-id] [--log-group log-group] [environment-name]
```

 检索环境运行状况日志：

```
eb logs [-all | --zip | --stream] --cloudwatch-log-source environment-health [environment-name]
```

 要申请 AI 支持的分析，请执行以下操作：

```
eb logs --analyze [environment-name]
```

## 选项
<a name="eb3-logsoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-cw [enable \| disable]` 或者 `--cloudwatch-logs [enable \| disable]`  |  启用或禁用日志流式传输到 CloudWatch 日志。如果未提供任何参数，则将启用日志流式传输。此外，如果未指定 `--cloudwatch-log-source`（`-cls`）选项，则将启用或禁用实例日志流式传输。  | 
|  `-cls instance \| environment-health \| all` 或者 `--cloudwatch-log-source instance \| environment-health \| all`  |  指定使用日志时的 CloudWatch 日志来源。使用命令的启用或禁用形式，这些是要为其启用或禁用 CloudWatch 日志流的日志。在命令的检索形式中，这些是要从日志中检索的 CloudWatch 日志。 有效值： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-logs.html) 值含义： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-logs.html)  | 
|  `-a` 或 `--all`  |  检索全部日志并将它们保存到 `.elasticbeanstalk/logs` 目录中。  | 
|  `-z` 或 `--zip`  |  检索全部日志，将它们压缩为一个 `.zip` 文件，然后将该文件保存到 `.elasticbeanstalk/logs` 目录中。  | 
|  `--stream`  |  流式传输（持续输出）全部日志。与此选项结合使用时，此命令在中断之前将一直运行（按 **Ctrl\$1C**）。  | 
|  `-i instance-id` 或 `--instance instance-id`  |  仅检索指定实例的日志。  | 
|  `-g log-group` 或者 `--log-group log-group`  |  指定要从中检索 CloudWatch 日志的日志组。仅当启用了将实例日志流式传输到 CloudWatch 日志时，该选项才有效。 如果启用了实例日志流式传输，并且未指定 `--log-group` 选项，则默认日志组为以下项之一： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-logs.html) 有关每个日志文件对应的日志组的信息，请参阅[Elastic Beanstalk 是如何设置日志 CloudWatch 的](AWSHowTo.cloudwatchlogs.md#AWSHowTo.cloudwatchlogs.loggroups)。  | 
|  `-ai` 或者 `--analyze`  |  请求对环境的日志、事件和实例运行状况进行 AI 驱动的分析。该分析使用 Amazon Bedrock 来确定根本原因并推荐环境健康问题的解决方案。该命令发送请求，等待分析完成，然后显示结果。 此选项与`--instance`、、`--all``--zip``--log-group`、或不兼容`--cloudwatch-logs`。 有关先决条件和所需权限，请参阅[人工智能驱动的环境分析](health-ai-analysis.md)。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-logsoutput"></a>

默认情况下，直接在终端显示日志。使用分页程序显示输出。按 **Q** 或 **q** 退出。

使用 `--stream` 时，在终端显示现有日志并保持运行。按 **Ctrl\$1C** 退出。

使用 `--all` 和 `--zip` 时，将日志保存到本地文件并显示文件位置。

使用`--analyze`，在分析完成后直接在终端中显示 AI 生成的分析。

## 示例
<a name="logsexample"></a>

以下示例启用了将实例日志流式传输到 CloudWatch 日志。

```
$ eb logs -cw enable
Enabling instance log streaming to CloudWatch for your environment
After the environment is updated you can view your logs by following the link:
https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logs:prefix=/aws/elasticbeanstalk/environment-name/
Printing Status:
2018-07-11 21:05:20    INFO: Environment update is starting.
2018-07-11 21:05:27    INFO: Updating environment environment-name's configuration settings.
2018-07-11 21:06:45    INFO: Successfully deployed new configuration to environment.
```

以下示例将实例日志检索到 `.zip` 文件中。

```
$ eb logs --zip
Retrieving logs...
Logs were saved to /home/workspace/environment/.elasticbeanstalk/logs/150622_173444.zip
```

以下示例请求对环境进行 AI 驱动的分析。

```
$ eb logs --analyze
Analyzing environment...
No critical issues detected. Environment appears healthy.

---
Note: This analysis was generated by AI.
```

# **eb migrate**
<a name="eb3-migrate"></a>

## 说明
<a name="eb3-migratedescription"></a>

将 Internet Information Services（IIS）网站和应用程序从 Windows 服务器迁移到 Elastic Beanstalk。该命令会打包您的应用程序，保留其配置，并将它们部署到新的 Elastic Beanstalk 环境中。

有关迁移您的 IIS 站点和应用程序的更多信息，请参阅[将 IIS 应用程序迁移到 Elastic Beanstalk](dotnet-migrating-applications.md)。

**注意**  
在使用此命令之前，请确保您的系统满足以下要求：  
Internet Information Services（IIS）7.0 或更高版本
安装了 Web 部署 3.6 或更高版本
Windows 服务器上的管理权限
AWS 配置了适当权限的凭证
您的源服务器对 AWS 服务具有出站互联网访问权限。

迁移过程涉及到以下步骤：

1. 发现 IIS 站点及其配置。

1. 打包应用程序内容和配置。

1. 创建 Elastic Beanstalk 环境和应用程序。

1. 使用保留的设置部署应用程序。

该命令会在结构化目录中创建迁移构件，如以下列表所示：

```
C:\migration_workspace\
└── .\migrations\latest\
    ├── upload_target.zip
    └── upload_target\
        ├── [SiteName].zip                      # One ZIP per default application of IIS site
        ├── [SiteName-ApplicationName].zip      # One ZIP per additional application
        ├── aws-windows-deployment-manifest.json
        └── ebmigrateScripts\
            ├── site_installer.ps1              # Site installation scripts
            ├── permission_handler.ps1          # Permission management
            └── other helper scripts
```

**eb migrate cleanup** 用于管理这些构件。

## 语法
<a name="eb3-migratesyntax"></a>

**eb migrate *[options]***

**eb migrate explore *[options]***

**eb migrate cleanup *[options]***

在无引数的情况下运行时，**eb migrate** 以非交互模式运行。若要在交互模式下执行它，请运行 **eb migrate --interactive**。

交互模式命令会提示输入以下信息：
+ 选择要迁移的 IIS 站点
+ 环境和应用程序名称
+ 平台版本选择
+ 实例类型和其他配置选项

## 子命令
<a name="eb3-migratesubcommands"></a>

### explore
<a name="eb3-migrateexplore"></a>

**eb migrate explore** 子命令会检查您的 IIS 服务器并列出可用站点。

使用此命令可显示以下信息：
+ 查看服务器上的所有 IIS 站点
+ 使用 `--verbose` 可检查详细配置，包括：
  + 网站绑定和端口
  + 应用程序池
  + 虚拟目录及其物理路径
  + 身份验证设置

```
PS C:\migrations_workspace >  eb migrate explore
Default Web Site
Site2
site3
router
```

```
PS C:\migrations_workspace >  eb migrate explore --verbose
1: Default Web Site:
  - Bindings:
    - *:8083:
  - Application '/':
    - Application Pool: DefaultAppPool
    - Enabled Protocols: http
    - Virtual Directories:
      - /:
        - Physical Path: C:\inetpub\wwwroot
        - Logon Method: ClearText
  - Application '/dotnet-6-0':
    - Application Pool: DefaultAppPool
    - Enabled Protocols: http
    - Virtual Directories:
      - /:
        - Physical Path: C:\inetpub\AspNetCoreWebApps\CoreWebApp-6-0
        - Logon Method: ClearText
  - Application '/dotnet-8-0':
    - Application Pool: DefaultAppPool
    - Enabled Protocols: http
    - Virtual Directories:
      - /:
        - Physical Path: C:\inetpub\AspNetCoreWebApps\CoreWebApp-8-0
        - Logon Method: ClearText
2: Site2:
  - Bindings:
    - *:8081:
...
```

### 清理
<a name="eb3-migratecleanup"></a>

**eb migrate cleanup** 子命令可通过以下操作管理迁移构件：
+ 将最近一次成功的迁移保留在 `./migrations/latest` 中
+ 删除较旧的迁移目录
+ 维护关键配置文件

```
PS C:\migrations_workspace >   eb migrate cleanup
Are you sure you would like to cleanup older artifacts within `./migrations/`? (y/N):
```

使用 `--force` 在清理期间跳过确认提示。

```
PS C:\migrations_workspace >   eb migrate cleanup --force
```

## 选项
<a name="eb3-migrateoptions"></a>

这些选项都不是必需的。如果在运行 **eb migrate** 时不指定任何选项，EB CLI 将在非交互模式下执行。使用 **eb migrate --interactive** 时，EB CLI 会提示您为必需设置输入或选择值。


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-a` *application-name* 或者 `--application-name` *application-name*  |  新的 Elastic Beanstalk 应用程序的名称。 类型：字符串 默认： EBMigrated应用程序  | 
|  `--archive` *directory-or-zip*  |  包含先前由 **eb migrate --archive-only** 生成的源代码的目录或 ZIP 文件。 使用此选项部署先前创建的迁移包。 示例：`--archive .\migrations\latest\upload_target` 或 `--archive .\migrations\latest\upload_target.zip`  | 
|  `-ao` 或者 `--archive-only`  |  仅创建目标存档目录，而不进行部署。 生成的目录可以使用带有 `archive` 选项的 **eb migrate** 进行手动部署，或使用 **eb deploy** 进行部署。  | 
|  `-c` *subdomain-name* 或者 `--cname` *subdomain-name*  |  要为迁移的应用程序的 CNAME DNS 条目添加前缀的子域名。 类型：字符串 默认值：环境名称  | 
|  `-cf` 或者 `--copy-firewall-config`  |  将针对所有具有活动绑定的 HTTP 端口的源服务器防火墙配置复制到目标服务器。 在中创建相应的安全组规则 AWS。  | 
|  `-es` *snapshot-id* [*snapshot-id* ...] 或者 `--ebs-snapshots` *snapshot-id* [*snapshot-id* ...]  |  要与环境关联的 Amazon EBS 快照列表 IDs ，以逗号分隔。 示例：`--ebs-snapshots snap-1234567890abcdef0, snap-0987654321fedcba1`  | 
|  `--encrypt-ebs-volumes`  |  对所有新 Amazon EBS 卷强制加密。  这是一个全账户范围的设置，会影响未来所有 Amazon EBS 卷的创建。   | 
|  `-e` *environment-name* 或者 `--environment-name` *environment-name*  |  新 Elastic Beanstalk 环境的名称。 类型：字符串 默认： EBMigrated环境 约束：长度必须在 4 到 40 个字符之间。只能包含字母、数字和连字符。不得以连字符开头或结尾。  | 
|  `--force`  |  在操作期间跳过确认提示。 与 **cleanup** 子命令一起使用时，无需确认即可删除迁移构件。  | 
|  `-ip` *profile-name* 或者 `--instance-profile` *profile-name*  |  要与环境的 Amazon EC2 实例关联的实例配置文件。 如果未指定，则会创建一个具有 Elastic Beanstalk 资源访问权限的默认实例配置文件。有关更多信息，请参阅 [Elastic Beanstalk 实例配置文件](concepts-roles-instance.md)。  | 
|  `-i` *instance-type* 或者 `--instance-type` *instance-type*  |  您的 Elastic Beanstalk 环境的亚马逊 EC2 实例类型。 类型：字符串 默认：c5.2xlarge 有关可用的实例类型，请参阅[亚马逊* EC2 用户指南中的亚马逊 EC2 *实例类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)。  | 
|  `-in` 或者 `--interactive`  |  迁移过程强制交互模式。 即使默认值可用，也会提示输入配置值。  | 
|  `-k` *key-name* 或者 `--keyname` *key-name*  |  Amazon EC2 key pair 用于启用 RDP 访问环境实例。 此方法对于调查日志中看不到的实例级问题很有用。 有效值：在 Amazon 注册的现有密钥对名称 EC2  | 
|  `-p` *platform-version* 或者 `--platform` *platform-version*  |  环境的 Elastic Beanstalk 平台运行时。如果未指定，则自动从主机 Windows 服务器版本中检测。 示例：`"64bit Windows Server 2016 v2.16.2 running IIS 10.0"` 有关可用平台版本的列表，请使用 [eb 平台列表](eb3-platform.md#eb3-platform-list)。  | 
|  `--remote`  |  表示在远程模式下执行迁移。此选项允许从堡垒主机执行，堡垒主机连接到包含要迁移到 Elastic Beanstalk 的应用程序和配置的目标服务器。在堡垒机服务器上运行时，`eb migrate` 会发现配置，在堡垒主机上暂存迁移逻辑，然后将您的应用程序部署到新的 Elastic Beanstalk 环境中。 使用此选项，您无需在需要迁移的 Windows 服务器上安装 EB CLI 和 Python。相反，您将改为在堡垒主机（在其中运行带有 `--remote` 选项的 **eb migrate** 命令）上安装 Python 和 EB CLI，使用 `--target-ip` 选项指定要迁移的包含 IIS 配置的主机。 必须与 `--target-ip`、`--username`、`--password` 和一起使用。  | 
|  `--target-ip` *ip-address*  |  包含要迁移的 IIS 服务器的远程 Windows 计算机的公有 IP 地址。 使用 `--remote` 时为必填项。只能在使用 `--remote` 时指定。  | 
|  `--username` *username*  |  用户配置文件的用户名，该用户配置文件用于访问包含要迁移的 IIS 服务器的远程 Windows 计算机。 使用 `--remote` 时为必填项。只能在使用 `--remote` 时指定。  | 
|  `--password` *password*  |  用户配置文件的密码，该用户配置文件用于访问包含要迁移的 IIS 服务器的远程 Windows 计算机。 使用 `--remote` 时为必填项。只能在使用 `--remote` 时指定。  | 
|  `-sr` *role-name* 或者 `--service-role` *role-name*  |  Elastic Beanstalk 的 IAM 服务角色用于管理相关服务。 AWS  如果未指定，则会创建具有必要权限的默认服务角色。有关更多信息，请参阅 [Elastic Beanstalk 服务角色](concepts-roles-service.md)。  仅指定角色名称，而不是完整的 ARN。Elastic Beanstalk 会自动创建完整的 ARN。   | 
|  `-s` *site-names* 或者 `--sites` *site-names*  |  要迁移的 IIS 站点的逗号分隔列表。如果未指定，则会迁移服务器上的所有可用站点。 示例：`--sites "Default Web Site,Intranet,API"`  | 
|  `--ssl-certificates` *certificate-arn*[,*certificate-arn* ...]  |  要与 Application Load Balancer 关联的 ACM SSL 证书列表 ARNs ，以逗号分隔。 迁移具有 HTTPS 绑定的网站时需要。 示例：`--ssl-certificates arn:aws:acm:region:account:certificate/certificate-id`  | 
|  `-t key1=value1[,key2=value2 ...]` 或者 `-﻿-﻿tags key1=value1[,key2=value2 ...]`  |  用于标记环境中的新资源（环境、Elastic Beanstalk 应用程序、应用程序版本）的 `key=value` 对的逗号分隔列表。 有关更多信息，请参阅 [为环境添加标签](using-features.tagging.md)。  | 
|  `--verbose`  |  在迁移过程中显示详细信息。 与 **explore** 子命令一起使用时，会显示全面的站点配置详细信息。  | 
|  `-vpc` *config-file-or-string* 或者 `--vpc-config` *config-file-or-string*  |  环境的 VPC 配置，可以指定为 JSON 文件路径或 JSON 字符串。 配置必须包括： <pre>{<br />    "id": "vpc-1234567890abcdef0",<br />    "publicip": "true|false",<br />    "elbscheme": "public|private",<br />    "ec2subnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"],<br />    "securitygroups": "sg-123456,sg-789012",<br />    "elbsubnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"]<br />}</pre> [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-migrate.html)  *当您指定* `--vpc-config` *参数时，迁移将忽略源环境中的任何现有 VPC 设置。*使用此参数时，迁移将仅使用您传入的配置文件中指定的 VPC 设置。使用此参数会覆盖发现源实例 VPC 配置或使用默认 VPC 的默认行为。   | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-migrateoutput"></a>

此命令在整个迁移过程中提供状态更新：

1. VPC 配置检测（在 EC2 实例上运行时）

1. 每个站点的源捆绑包生成进度

1. 环境创建状态

1. 部署进度

如果迁移成功，则会显示新环境的详细信息，包括：
+ 环境名称和 ID
+ 应用程序名称
+ Region
+ 平台版本
+ 环境 CNAME

对于迁移期间出现的问题，请使用 [**eb events**](eb3-events.md) 和 [**eb health**](eb3-health.md) 命令来获取详细信息。

## 示例
<a name="eb3-migrateexamples"></a>

### 基本用法
<a name="eb3-migrateexamples-basic"></a>

交互式模式下的基本迁移：

```
PS C:\migrations_workspace >  eb migrate
Identifying VPC configuration of this EC2 instance (i-0123456789abcdef0):
  id: vpc-1234567890abcdef0
  publicip: true
  elbscheme: public
  ec2subnets: subnet-123,subnet-456,subnet-789
  securitygroups: sg-123,sg-456
  elbsubnets: subnet-123,subnet-456,subnet-789

Using .\migrations\latest to contain artifacts for this migration run.
Generating source bundle for sites, applications, and virtual directories...
  Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip

Creating application version
Creating environment

Environment details for: EBMigratedEnv
  Application name: EBMigratedApp
  Region: us-west-2
  Deployed Version: app-230320_153045
  Environment ID: e-abcdef1234
  Platform: 64bit Windows Server 2019 v2.7.0 running IIS 10.0
  Tier: WebServer-Standard-1.0
  CNAME: ebmigratedenv.us-west-2.elasticbeanstalk.com
  Updated: 2023-03-20 15:30:45
```

迁移具有自定义配置的特定站点：

```
PS C:\migrations_workspace >  eb migrate `
    --sites "Default Web Site,InternalAPI" `
    --application-name "CorporateApp" `
    --environment-name "Production" `
    --instance-type "c5.xlarge" `
    --tags "Environment=Production,Team=WebOps" `
    --copy-firewall-config
```

创建迁移存档而不部署：

```
PS C:\migrations_workspace >  eb migrate --archive-only
Using .\migrations\latest to contain artifacts for this migration run.
Generating source bundle for sites, applications, and virtual directories...
  Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip

Generated destination archive directory at .\migrations\latest\upload_target
You can execute `eb init` and `eb create` from this directory to deploy to EB.
```

### 高级配置示例
<a name="eb3-migrateexamples-advanced"></a>

使用 JSON 文件迁移具有自定义 VPC 配置的站点：

```
PS C:\migrations_workspace >  cat vpc-config.json
{
    "id": "vpc-1234567890abcdef0",
    "publicip": "false",
    "elbscheme": "internal",
    "ec2subnets": [
        "subnet-private1",
        "subnet-private2"
    ],
    "securitygroups": [
        "sg-app",
        "sg-database",
        "sg-monitoring"
    ],
    "elbsubnets": [
        "subnet-private1",
        "subnet-private2"
    ]
}

PS C:\migrations_workspace eb migrate `
    --sites "InternalAPI" `
    --vpc-config vpc-config.json `
    --instance-type "r5.xlarge" `
    --tags "Environment=Internal,Security=High"
```

迁移具有 SSL 证书和主机标头的站点：

```
PS C:\migrations_workspace >  eb migrate `
    --sites "SecurePortal" `
    --ssl-certificates "arn:aws:acm:region:account:certificate/cert1,arn:aws:acm:region:account:certificate/cert2" `
    --verbose
INFO: Detected HTTPS bindings:
  - www.example.com:443
  - api.example.com:443

INFO: Configuring Application Load Balancer with SSL certificates
INFO: Creating host-based routing rules:
  - www.example.com -> target group 1
  - api.example.com -> target group 2
```

迁移具有 EBS 快照配置的站点：

```
PS C:\migrations_workspace >  eb migrate `
    --sites "Default Web Site" `
    --ebs-snapshots "snap-1234567890abcdef0" "snap-0987654321fedcba1" `
    --encrypt-ebs-volumes
Using .\migrations\latest to contain artifacts for this migration run.
INFO: Enabling EBS encryption for all new volumes in us-west-2
INFO: Configuring environment with specified EBS snapshots
```

### 安全配置示例
<a name="eb3-migrateexamples-security"></a>

处理具有复杂防火墙规则的站点：

```
PS C:\migrations_workspace >  eb migrate `
    --sites "Default Web Site,ReportingService" `
    --copy-firewall-config `
    --verbose
INFO: Detected the following Windows Firewall rules:
  - Allow Web Traffic (TCP 80, 443)
  - Allow Reporting Traffic (TCP 8081)
INFO: Creating corresponding security group rules
```

迁移包含自定义 IAM 角色的站点：

```
PS C:\migrations_workspace >  eb migrate `
    --sites "SecureApp" `
    --instance-profile "CustomInstanceProfile" `
    --service-role "CustomServiceRole"
```

### 远程执行示例
<a name="eb3-migrateexamples-remote"></a>

从远程 Windows 服务器迁移 IIS 应用程序：

```
PS C:\migrations_workspace >  eb migrate `
    --remote `
    --target-ip "192.0.2.10" `
    --username "administrator" `
    --password "YourPassword123" `
    --application-name "RemoteApp" `
    --environment-name "RemoteEnv"
INFO: Establishing SSH connection to remote host 192.0.2.10...
INFO: Connection established
INFO: Discovering IIS sites on remote host...
INFO: Found 2 sites: Default Web Site, API
INFO: Extracting site configurations...
INFO: Generating source bundle for sites, applications, and virtual directories...
  Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
  API/ -> .\migrations\latest\upload_target\API.zip

Creating application version
Creating environment

Environment details for: RemoteEnv
  Application name: RemoteAppstage mi
  Region: us-west-2
  Deployed Version: app-230320_153045
  Environment ID: e-abcdef1234
  Platform: 64bit Windows Server 2019 v2.7.0 running IIS 10.0
  Tier: WebServer-Standard-1.0
  CNAME: remoteenv.us-west-2.elasticbeanstalk.com
  Updated: 2023-03-20 15:30:45
```

包含特定站点选择的远程迁移：

```
PS C:\migrations_workspace >  eb migrate `
    --remote `
    --target-ip "192.0.2.10" `
    --username "administrator" `
    --password "YourPassword123" `
    --sites "API" `
    --instance-type "c5.large"
```

# **eb open**
<a name="eb3-open"></a>

## 说明
<a name="eb3-opendescription"></a>

在默认浏览器中打开网站的公共 URL。

## 语法
<a name="eb3-opensyntax"></a>

 **eb open** 

 **eb open *environment-name*** 

## 选项
<a name="eb3-openoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-openoutput"></a>

命令 **eb open** 不具有任何输出。相反，它会在浏览器窗口中打开应用程序。

# **eb platform**
<a name="eb3-platform"></a>

## 说明
<a name="eb3-platformdescription"></a>

此命令支持两种不同工作区：

[平台](#eb3-platform-preconfigured)  
使用此命令可管理自定义平台。

[环境](#eb3-platform-environment)  
使用此工作区可选择默认平台或显示有关当前平台的信息。

Elastic Beanstalk 提供了 **eb platform** 的快捷方式 **ebp**。

**注意**  
Windows PowerShell 使用**ebp**作为命令别名。如果你在 Windows 中运行 EB CLI PowerShell，请使用此命令的长格式 — **eb platform**。

## 对自定义平台使用 eb platform
<a name="eb3-platform-preconfigured"></a>

列出当前平台的版本并能让您管理自定义平台。

### 语法
<a name="eb3-platformpresyntax"></a>

**eb platform create [*version*] [*options*]**

**eb platform delete [*version*] [*options*]**

**eb platform events [*version*] [*options*]**

**eb platform init [*platform*] [*options*]**

**eb platform list [*options*]**

**eb platform logs [*version*] [*options*]**

**eb platform status [*version*] [*options*]**

**eb platform use [*platform*] [*options*]**

### 选项
<a name="eb3-platform-options"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `create [version] [options]`  | 生成平台的新版本。[了解更多](#eb3-platform-create)。 | 
|  `delete version [options]`  | 删除平台版本。[了解更多](#eb3-platform-delete)。 | 
|  `events [version] [options]`  | 显示平台版本中的事件。[了解更多](#eb3-platform-events)。 | 
|  `init [platform] [options]`  | 初始化平台存储库。[了解更多](#eb3-platform-init)。 | 
|  `list [options]`  | 列出当前平台的版本。[了解更多](#eb3-platform-list)。 | 
|  `logs [version] [options]`  | 显示平台版本的生成器环境中的日志。[了解更多](#eb3-platform-logs)。 | 
|  `status [version] [options]`  | 显示平台版本的状态。[了解更多](#eb3-platform-status)。 | 
|  `use [platform] [options]`  | 选择生成新版本所基于的其他平台。[了解更多](#eb3-platform-use)。 | 
|  [常用选项](eb3-cmd-options.md)  |  | 

### 常用选项
<a name="eb3-platform-common"></a>

所有 **eb platform** 命令均包含以下常用选项。


****  

|  名称  |  描述  | 
| --- | --- | 
|  `-h` OR `--help`  |  显示帮助消息并退出。  | 
|  `--debug`  |  显示更多调试输出。  | 
|  `--quiet`  |  隐藏所有输出。  | 
|  `-v` OR `--verbose`  |  显示更多输出。  | 
|  `--profile PROFILE`  |  使用您的凭证*PROFILE*中指定的。  | 
|  `-r REGION` 或 `--region REGION`  |  使用该区域*REGION*。  | 
|  `--no-verify-ssl`  |  请勿验证 AWS SSL 证书。  | 

### Eb platform create
<a name="eb3-platform-create"></a>

生成平台的新版本并返回新版本的 ARN。如果当前区域没有正在运行的生成器环境，则此命令将会启动一个。*version*和增量选项（`-M``-m`、和`-p`）是互斥的。

#### 选项
<a name="eb3-platform-create-options"></a>


****  

|  Name  |  说明  | 
| --- | --- | 
|  *version*  |  如果*version*未指定，则基于最新的平台创建新版本，补丁版本（N.n.n 中的 N）递增。  | 
|  `-M` 或 `--major-increment`  | 将主要版本号（N.n.n 中的 N）递增一。 | 
|  `-m` OR `--minor-increment`  | 将次要版本号（n.N.n 中的 N）递增一。 | 
|  `-p` OR `--patch-increment`  | 将修补版本号（n.n.N 中的 N）递增一。 | 
|  `-i INSTANCE_TYPE` 或 --实例类型 *INSTANCE\$1TYPE*  | *INSTANCE\$1TYPE*用作实例类型，例如**t1.micro**。 | 
|  `-ip INSTANCE_PROFILE` 或 `--instance-profile INSTANCE_PROFILE`  | 在*INSTANCE\$1PROFILE*为自定义平台创建 AMIs 时用作实例配置文件。 如果未指定 `-ip` 选项，请创建实例配置文件 `aws-elasticbeanstalk-custom-platforme-ec2-role` 并将它用于自定义平台。 | 
|  `-﻿-﻿tags key1=value1[,key2=value2 ...]`  |  将标签指定为逗号分隔的 `key=value` 对的列表。  | 
|  `--timeout` *minutes*  |  命令超时之前的设定分钟数。  | 
|  `--vpc.id VPC_ID`  | 在其中生成 Packer 的 VPC 的 ID。 | 
|  `--vpc.subnets VPC_SUBNETS`  | 在其中生成 Packer 的 VPC 子网。 | 
|  `--vpc.publicip`  | 将公共 EC2 实例 IPs 与启动的实例相关联。 | 

### Eb platform delete
<a name="eb3-platform-delete"></a>

删除平台版本。如果环境在使用该版本，则该版本不会被删除。

#### 选项
<a name="eb3-platform-delete-options"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `version`  | 要删除的版本。此值为必填项。 | 
|  `--cleanup`  |  删除所有处于 `Failed` 状态的平台版本。  | 
|  `--all-platforms`  |  如果指定了 `--cleanup`，请删除所有平台的处于 `Failed` 状态的所有平台版本。  | 
|  `--force`  |  在删除版本时，不要求进行确认。  | 

### Eb platform events
<a name="eb3-platform-events"></a>

显示平台版本中的事件。如果*version*已指定，则显示该版本的事件，否则显示当前版本的事件。

#### 选项
<a name="eb3-platform-events-options"></a>


****  

|  Name  |  说明  | 
| --- | --- | 
|  *version* | 为其显示事件的版本。此值为必填项。 | 
|  `-f` OR `--follow`  | 继续在事件发生时显示它们。 | 

### Eb platform init
<a name="eb3-platform-init"></a>

初始化平台存储库。

#### 选项
<a name="eb3-platform-init-options"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `platform`  | 要初始化的平台的名称。该值是必需的，除非启用了 `-i`（交互式模式）。 | 
|  `-i` OR `--interactive`  |  使用交互式模式。  | 
|  `-k KEYNAME` 或 `--keyname KEYNAME`  |  默认 EC2 密钥名称。  | 

您可以在之前初始化的目录中运行该命令，但是，如果是在之前初始化的目录中运行，则无法更改工作区类型。

要使用不同选项重新初始化，请使用 `-i` 选项。

### Eb platform list
<a name="eb3-platform-list"></a>

列出与工作区（目录）或区域关联的平台的版本。

该命令将返回不同的结果，具体取决于您在其中运行它的工作区的类型，如下所示：
+ 在平台工作区（由 `eb platform init` 初始化的目录）中，该命令将返回工作区中定义的自定义平台的所有平台版本的列表。添加 `--all-platforms` 或 `--verbose` 选项以获取您的账户在与工作区关联的区域中具有的所有自定义平台的所有平台版本的列表。
+ 在应用程序工作区（由 `eb init` 初始化的目录）中，该命令将返回由 Elastic Beanstalk 托管的平台和您账户的自定义平台的所有平台版本的列表。列表使用简短的平台版本名称，而且一些平台版本变体可进行组合。添加 `--verbose` 选项以获取包含完整名称及分别列出的所有变体的详细列表。
+ 在未初始化的目录中，该命令仅适用于 `--region` 选项。它将返回区域中支持的所有 Elastic Beanstalk 托管的平台版本的列表。列表使用简短的平台版本名称，而且一些平台版本变体可进行组合。添加 `--verbose` 选项以获取包含完整名称及分别列出的所有变体的详细列表。

#### 选项
<a name="eb3-platform-list-options"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-a` OR `--all-platforms`  |  仅在已初始化的工作区（由 `eb platform init` 或 `eb init` 初始化的目录）中有效。列出与您的账户关联的所有自定义平台的平台版本。 | 
|  `-s STATUS` 或 `--status STATUS`  |  仅列出匹配的平台*STATUS*： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/eb3-platform.html)  | 

### Eb platform logs
<a name="eb3-platform-logs"></a>

显示平台版本的生成器环境中的日志。

#### 选项
<a name="eb3-platform-logs-options"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `version`  |  为其显示日志的平台的版本。如果省略，则显示当前版本的日志。  | 
|  `--stream`  | 流式传输使用设置的部署日志 CloudWatch。 | 

### Eb platform status
<a name="eb3-platform-status"></a>

显示平台版本的状态。

#### 选项
<a name="eb3-platform-status-options"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `version`  | 为其检索状态的平台的版本。如果省略，则显示当前版本的状态。 | 

### Eb platform use
<a name="eb3-platform-use"></a>

选择生成新版本所基于的其他平台。

#### 选项
<a name="eb3-platform-use-options"></a>


****  

|  Name  |  说明  | 
| --- | --- | 
|  `platform`  | 指定*platform*为该工作区的活动版本。该值为必填项。 | 

## 将 eb platform 用于环境
<a name="eb3-platform-environment"></a>

列出支持的平台，并使您能够设置默认平台和在启动环境时要使用的平台版本。使用 **eb platform list** 可查看所有支持平台的列表。使用 **eb platform select** 可更改项目的平台。使用 **eb platform show** 可查看您的项目的选定平台。

### 语法
<a name="eb3-platformenvsyntax"></a>

**eb platform list**

**eb platform select**

**eb platform show**

### 选项
<a name="eb3-platformenvoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `list`  | 列出当前平台的版本。 | 
|  `select`  | 选择默认平台。 | 
|  `show`  | 显示有关当前平台的信息。 | 

### 示例 1
<a name="eb3-platformenvexample1"></a>

以下示例列出 Elastic Beanstalk 支持的所有平台的所有配置的名称。

```
$ eb platform list
docker-1.5.0
glassfish-4.0-java-7-(preconfigured-docker)
glassfish-4.1-java-8-(preconfigured-docker)
go-1.3-(preconfigured-docker)
go-1.4-(preconfigured-docker)
iis-7.5
iis-8
iis-8.5
multi-container-docker-1.3.3-(generic)
node.js
php-5.3
php-5.4
php-5.5
python
python-2.7
python-3.4
python-3.4-(preconfigured-docker)
ruby-1.9.3
ruby-2.0-(passenger-standalone)
ruby-2.0-(puma)
ruby-2.1-(passenger-standalone)
ruby-2.1-(puma)
ruby-2.2-(passenger-standalone)
ruby-2.2-(puma)
tomcat-6
tomcat-7
tomcat-7-java-6
tomcat-7-java-7
tomcat-8-java-8
```

### 示例 2
<a name="eb3-platformenvexample2"></a>

以下示例提示您从平台列表中选择并选择要为指定平台部署的版本。

```
$ eb platform select
Select a platform.
1) PHP
2) Node.js
3) IIS
4) Tomcat
5) Python
6) Ruby
7) Docker
8) Multi-container Docker
9) GlassFish
10) Go
(default is 1): 5

Select a platform version.
1) Python 2.7
2) Python
3) Python 3.4 (Preconfigured - Docker)
```

### 示例 3
<a name="eb3-platformenvexample3"></a>

以下示例显示有关当前默认平台的信息。

```
$ eb platform show
Current default platform: Python 2.7
New environments will be running:  64bit Amazon Linux 2014.09 v1.2.0 running Python 2.7

Platform info for environment "tmp-dev":
Current: 64bit Amazon Linux 2014.09 v1.2.0 running Python
Latest:  64bit Amazon Linux 2014.09 v1.2.0 running Python
```

# **eb printenv**
<a name="eb3-printenv"></a>

## 说明
<a name="eb3-printenvdescription"></a>

在命令窗口中打印所有环境属性。

## 语法
<a name="eb3-printenvsyntax"></a>

 **eb printenv** 

 **eb printenv *environment-name*** 

## 选项
<a name="eb3-printenvoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-printenvoutput"></a>

如果成功，则该命令返回 `printenv` 操作的状态。

## 示例
<a name="eb3-printenvexample"></a>

以下示例将打印指定环境的环境属性。

```
$ eb printenv
Environment Variables:
     PARAM1 = Value1
```

# **eb restore**
<a name="eb3-restore"></a>

## 说明
<a name="eb3-restoredescription"></a>

重建已终止的环境，创建具有相同名称、ID 和配置的新环境。环境名称、域名和应用程序版本必须可用才能重建成功。

## 语法
<a name="eb3-restoresyntax"></a>

 **eb restore** 

 **eb restore *environment\$1id*** 

## 选项
<a name="eb3-restoreoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-restoreoutput"></a>

EB CLI 显示可用于恢复的已终止环境的列表。

## 示例
<a name="eb3-restoreexample"></a>

```
$ eb restore
Select a terminated environment to restore

  #   Name          ID             Application Version      Date Terminated        Ago

  3   gamma         e-s7mimej8e9   app-77e3-161213_211138   2016/12/14 20:32 PST   13 mins
  2   beta          e-sj28uu2wia   app-77e3-161213_211125   2016/12/14 20:32 PST   13 mins
  1   alpha         e-gia8mphu6q   app-77e3-161213_211109   2016/12/14 16:21 PST   4 hours

 (Commands: Quit, Restore, ▼ ▲)

Selected environment alpha
Application:    scorekeep
Description:    Environment created from the EB CLI using "eb create"
CNAME:          alpha.h23tbtbm92.us-east-2.elasticbeanstalk.com
Version:        app-77e3-161213_211109
Platform:       64bit Amazon Linux 2016.03 v2.1.6 running Java 8
Terminated:     2016/12/14 16:21 PST
Restore this environment? [y/n]: y

2018-07-11 21:04:20    INFO: restoreEnvironment is starting.
2018-07-11 21:04:39    INFO: Created security group named: sg-e2443f72
...
```

# **eb scale**
<a name="eb3-scale"></a>

## 说明
<a name="eb3-scaledescription"></a>

通过将最小实例数和最大实例数设置为指定数字，扩展环境以始终在指定数量的实例上运行。

## 语法
<a name="eb3-scalesyntax"></a>

 **eb scale *number-of-instances*** 

 **eb scale *number-of-instances* *environment-name*** 

## 选项
<a name="eb3-scaleoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  --timeout  |  命令超时之前的分钟数。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-scaleoutput"></a>

如果成功，命令会将要运行的实例的最小数目和最大数目更新为指定数目。

## 示例
<a name="eb3-scaleexample"></a>

以下示例将实例数设置为 2。

```
$ eb scale 2
2018-07-11 21:05:22    INFO: Environment update is starting.
2018-07-11 21:05:27    INFO: Updating environment tmp-dev's configuration settings.
2018-07-11 21:08:53    INFO: Added EC2 instance 'i-5fce3d53' to Auto Scaling Group 'awseb-e-2cpfjbra9a-stack-AWSEBAutoScalingGroup-7AXY7U13ZQ6E'.
2018-07-11 21:08:58    INFO: Successfully deployed new configuration to environment.
2018-07-11 21:08:59    INFO: Environment update completed successfully.
```

# **eb setenv**
<a name="eb3-setenv"></a>

## 说明
<a name="eb3-setenv-description"></a>

设置默认环境的[环境属性](environments-cfg-softwaresettings.md)。

## 语法
<a name="eb3-setenv-syntax"></a>

**eb setenv *key*=*value*** 

您可以按需添加任意数目的属性，但是所有属性的总大小不得超过 4096 字节。您可以通过将值留空来删除变量。有关限制，请参阅[配置环境属性（环境变量）](environments-cfg-softwaresettings.md#environments-cfg-softwaresettings-console)。

**注意**  
如果 `value` 包含[特殊字符](http://tldp.org/LDP/abs/html/special-chars.html)，则必须使用前置 `\` 字符将该字符转义。

## 选项
<a name="eb3-setenvoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  --timeout  |  命令超时之前的分钟数。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-setenv-output"></a>

如果成功，命令将显示环境更新成功。

## 示例
<a name="eb3-setenv-example"></a>

以下示例设置 ExampleVar 环境变量。

```
$ eb setenv ExampleVar=ExampleValue
2018-07-11 21:05:25    INFO: Environment update is starting.
2018-07-11 21:05:29    INFO: Updating environment tmp-dev's configuration settings.
2018-07-11 21:06:50    INFO: Successfully deployed new configuration to environment.
2018-07-11 21:06:51    INFO: Environment update completed successfully.
```

以下命令将设置多个环境属性。它将添加名为 `foo` 的环境属性并将其值设置为 `bar`，更改 `JDBC_CONNECTION_STRING` 属性的值，并删除 `PARAM4` 和 `PARAM5` 属性。

```
$ eb setenv foo=bar JDBC_CONNECTION_STRING=hello PARAM4= PARAM5=
```

# **eb ssh**
<a name="eb3-ssh"></a>

## 说明
<a name="eb3-sshdescription"></a>

**注意**  
此命令不适用于运行 Windows Server 实例的环境。

使用安全外壳 (SSH) 连接到您环境中的 Linux Amazon EC2 实例。如果一个环境具有多个正在运行的实例，EB CLI 将提示您指定要连接到的实例。为了使用此命令，SSH 必须已安装到您的本地计算机上，并且必须可在命令行中使用。私钥文件必须位于您的用户目录`.ssh`下名为的文件夹中，并且您环境中的 EC2 实例必须具有公有 IP 地址。

如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则该命令还会连接到自定义环境中的实例。

 

**SSH 密钥**  
如果以前没有配置过 SSH，可以在运行 **eb init** 时使用 EB CLI 创建一个密钥。如果您已运行 **eb init**，请使用 `--interactive` 选项再次运行，并且在系统提示设置 SSH 时选择 **Yes**（是）和 **Create New Keypair**（创建新密钥对）。在此过程中创建的密钥将由 EB CLI 存储在适当的文件夹中。

对于从 0.0.0.0/0（所有 IP 地址）传入的流量，如果尚未实施端口 22 的任何规则，则该命令将临时打开您的环境的安全组中的端口 22。如果您已配置了环境的安全组，以便针对限定的 CIDR 范围打开端口 22 来提高安全性，EB CLI 将采用该设置并且放弃对安全组的任何更改。要覆盖此行为并且强制 EB CLI 对所有传入流量打开端口 22，请使用 `--force` 选项。

有关配置环境的安全组的信息，请参阅[EC2 安全组](using-features.managing.ec2.console.md#using-features.managing.ec2.securitygroups)。

## 语法
<a name="eb3-sshsyntax"></a>

 **eb ssh** 

 **eb ssh *environment-name*** 

## 选项
<a name="eb3-sshoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-i` 或 `--instance`  |  指定您连接到的实例的实例 ID。建议您使用此选项。  | 
|  `-n` 或 `--number`  |  指定要通过数字连接的实例。  | 
|  `-o` 或 `--keep_open`  |  在 SSH 会话结束后，将安全组上的端口 22 保留打开状态。  | 
|  `--command`  |  在指定的实例上执行 Shell 命令，而不是启动 SSH 会话。  | 
|  `--custom`  |  指定要使用的 SSH 命令，而不是 'ssh -i keyfile'。请勿包括远程用户和主机名。  | 
|  `--setup`  |  更改分配到环境的实例的密钥对（需要替换实例）。  | 
|  `--force`  |  在环境的安全组中针对来自 0.0.0.0/0 的传入流量打开端口 22，即使已为 SSH 配置安全组也是如此。 如果环境的安全组配置为针对限定的 CIDR 范围打开端口 22，而该范围不包括您尝试发出连接的 IP 地址，请使用此选项。  | 
|  `--timeout` *minutes*  |  命令超时之前的设定分钟数。 只能与 `--setup` 参数一起使用。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-sshoutput"></a>

如果成功，命令将打开与实例的 SSH 连接。

## 示例
<a name="eb3-sshexample"></a>

以下示例将您连接到指定环境。

```
$ eb ssh
Select an instance to ssh into
1) i-96133799
2) i-5931e053
(default is 1): 1
INFO: Attempting to open port 22.
INFO: SSH port 22 open.
The authenticity of host '54.191.45.125 (54.191.45.125)' can't be established.
RSA key fingerprint is ee:69:62:df:90:f7:63:af:52:7c:80:60:1b:3b:51:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '54.191.45.125' (RSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/
No packages needed for security; 1 packages available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-172-31-8-185 ~]$ ls
[ec2-user@ip-172-31-8-185 ~]$ exit
logout
Connection to 54.191.45.125 closed.
INFO: Closed port 22 on ec2 instance security group
```

# **eb status**
<a name="eb3-status"></a>

## 说明
<a name="eb3-status-description"></a>

提供有关环境状态的信息。

如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则该命令还会提供关于生成器环境的信息。

## 语法
<a name="eb3-status-syntax"></a>

 **eb status** 

 **eb status *environment-name*** 

## 选项
<a name="eb3-statusoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-v` 或 `--verbose`  |  提供有关单个实例的更多信息，例如其在 Elastic Load Balancing 负载均衡器上的状态。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-statusoutput"></a>

如果成功，命令将返回有关环境的以下信息：
+ 环境名称
+ 应用程序名称
+ 部署的应用程序版本
+ 环境 ID
+ 平台
+ 环境层
+ 别名记录
+ 环境的上次更新时间。
+ 状态
+ 运行状况

如果您使用详细模式，EB CLI 还会为您提供正在运行的 Ama EC2 zon 实例的数量。

## 示例
<a name="eb3-statusexample"></a>

以下示例显示了环境 tmp-dev 的状态。

```
$ eb status
Environment details for: tmp-dev
  Application name: tmp
  Region: us-west-2
  Deployed Version: None
  Environment ID: e-2cpfjbra9a
  Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5
  Tier: WebServer-Standard-1.0
  CNAME: tmp-dev.elasticbeanstalk.com
  Updated: 2014-10-29 21:37:19.050000+00:00
  Status: Launching
  Health: Grey
```

# **eb swap**
<a name="eb3-swap"></a>

## 说明
<a name="eb3-swapdescription"></a>

将该环境的别名记录与另一个环境的别名记录交换（例如，为了在更新应用程序版本时避免停机）。

**注意**  
如果您拥有两个以上的环境，系统将提示您从环境列表中选择当前正在使用您所需的别名记录的环境的名称。要禁止此操作，您可以通过在运行命令时包括 `-n` 选项来指定要使用的环境的名称。

## 语法
<a name="eb3-swapsyntax"></a>

 **eb swap** 

 **eb swap *environment-name*** 

**注意**  
*environment-name*是您想要使用其他 CNAME 的环境。如果您在运行时未指定*environment-name*为命令行参数**eb swap**，EB CLI 会更新默认环境的 CNAME。

## 选项
<a name="eb3-swapoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `-n` 或者 `--destination_name`  |  指定要与之交换的环境的名称 CNAMEs。如果您运行不带此选项的 **eb swap**，EB CLI 将提示您从环境列表中选择。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-swapoutput"></a>

如果成功，则该命令返回 `swap` 操作的状态。

## 示例
<a name="eb3-swapexample"></a>

以下示例将环境 tmp-dev 与 live-env 交换。

```
$ eb swap
Select an environment to swap with.
1) staging-dev
2) live-env
(default is 1): 2
2018-07-11 21:05:25    INFO: swapEnvironmentCNAMEs is starting.
2018-07-11 21:05:26    INFO: Swapping CNAMEs for environments 'tmp-dev' and 'live-env'.
2018-07-11 21:05:30    INFO: 'tmp-dev.elasticbeanstalk.com' now points to 'awseb-e-j-AWSEBLoa-M7U21VXNLWHN-487871449.us-west-2.elb.amazonaws.com'.
2018-07-11 21:05:30    INFO: Completed swapping CNAMEs for environments 'tmp-dev' and 'live-env'.
```

以下示例将环境 tmp-dev 与环境 live-env 交换，但不提示您输入或选择任何设置的值。

```
$ eb swap tmp-dev --destination_name live-env
2018-07-11 21:18:12    INFO: swapEnvironmentCNAMEs is starting.
2018-07-11 21:18:13    INFO: Swapping CNAMEs for environments 'tmp-dev' and 'live-env'.
2018-07-11 21:18:17    INFO: 'tmp-dev.elasticbeanstalk.com' now points to 'awseb-e-j-AWSEBLoa-M7U21VXNLWHN-487871449.us-west-2.elb.amazonaws.com'.
2018-07-11 21:18:17    INFO: Completed swapping CNAMEs for environments 'tmp-dev' and 'live-env'.
```

# **eb tags**
<a name="eb3-tags"></a>

## 说明
<a name="eb3-tagsdescription"></a>

添加、删除、更新和列出 Elastic Beanstalk 资源的标签。

有关在 Elastic Beanstalk 中标记资源的详细信息，请参阅[标记 Elastic Beanstalk 应用程序资源](applications-tagging-resources.md)。

## 语法
<a name="eb3-tagsyntax"></a>

**eb tags [*environment-name*] [--resource *ARN*] -l \$1 --list**

**eb tags [*environment-name*] [--resource *ARN*] -a \$1 --add *key1*=*value1*[,*key2*=*value2* ...]**

**eb tags [*environment-name*] [--resource *ARN*] -u \$1 --update *key1*=*value1*[,*key2*=*value2* ...]**

**eb tags [*environment-name*] [--resource *ARN*] -d \$1 --delete *key1*[,*key2* ...]**

您可以将 `--add`、`--update` 和 `--delete` 子命令选项组合在单个命令中。至少需要其中一个选项。这三个子命令选项中的任何一个都不能与 `--list` 结合使用。

不指定任何其他参数时，所有上述命令都将列出或修改当前目录的应用程序中默认环境的标签。使用*environment-name*参数，命令会列出或修改该环境的标签。使用 `--resource` 选项时，命令将列出或修改任何 Elastic Beanstalk 资源的标签 - 应用程序、环境、应用程序版本、保存的配置或自定义平台版本。通过 Amazon Resource Name（ARN）指定资源。

## 选项
<a name="eb3-tagsoptions"></a>

这些选项都不是必需的。如果运行不带任何选项的 **eb create**，则系统会提示您为每个设置输入或选择值。


****  

|  名称  |  描述  | 
| --- | --- | 
|  `-l` 或 `--list`  |  列出当前应用于资源的所有标签。  | 
|  `-﻿a key1=value1[,key2=value2 ...]` 或 `-﻿-﻿add key1=value1[,key2=value2 ...]`  |  将新标签应用到资源。将标签指定为逗号分隔的 `key=value` 对的列表。您无法指定现有标签的密钥。 有效值：请参阅[标注资源](applications-tagging-resources.md)。  | 
|  `-﻿u key1=value1[,key2=value2 ...]` 或 `-﻿-﻿update key1=value1[,key2=value2 ...]`  |  更新现有资源标签的值。将标签指定为逗号分隔的 `key=value` 对的列表。您必须指定现有标签的密钥。 有效值：请参阅[标注资源](applications-tagging-resources.md)。  | 
|  `-﻿d key1[,key2 ...]` 或 `-﻿-﻿delete key1[,key2 ...]`  |  删除现有资源标签。将标签指定为逗号分隔的密钥列表。您必须指定现有标签的密钥。 有效值：请参阅[标注资源](applications-tagging-resources.md)。  | 
|  `-r` *region* 或者 `--region` *region*  |  您的资源 AWS 区域 所在的。 默认值：配置的默认区域。 有关可以为此选项指定的值列表，请参阅 *AWS 一般参考* 中的 [AWS Elastic Beanstalk 端点和配额](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html)。  | 
|  `-﻿-﻿resource ARN`  |  要使用命令修改或列出其标签的资源的 ARN。如果未指定，则命令引用当前目录的应用程序中的（默认或指定）环境。 有效值：请参阅特定于您感兴趣的资源的[标注资源](applications-tagging-resources.md)子主题。这些主题展示了资源的 ARN 是如何构造的，并说明了如何获取您的应用程序或账户中 ARNs 存在的此资源的列表。  | 

## Output
<a name="eb3-tagsoutput"></a>

`--list` 子命令选项可显示资源标签的列表。输出既显示 Elastic Beanstalk 在默认情况下应用的标签，又显示您的自定义标签。

```
$ eb tags --list
Showing tags for environment 'MyApp-env':

Key                                 Value

Name                                MyApp-env
elasticbeanstalk:environment-id     e-63cmxwjaut
elasticbeanstalk:environment-name   MyApp-env
mytag                               tagvalue
tag2                                2nd value
```

`--add`、`--update` 和 `--delete` 子命令选项成功时没有任何输出。您可以通过添加 `--verbose` 选项来以查看命令活动的详细输出。

```
$ eb tags --verbose --update "mytag=tag value"
Updated Tags:

Key                                 Value

mytag                               tag value
```

## 示例
<a name="eb3-tagsexamples"></a>

以下命令成功地将键为 `tag1`、值为 `value1` 的标签添加到应用程序的默认环​​境中，同时删除标签 `tag2`。

```
$ eb tags --add tag1=value1 --delete tag2
```

以下命令成功地将标签添加到应用程序中的保存的配置。

```
$ eb tags --add tag1=value1 \
      --resource "arn:aws:elasticbeanstalk:us-east-2:my-account-id:configurationtemplate/my-app/my-template"
```

以下命令失败，因为它尝试更新不存在的标签。

```
$ eb tags --update tag3=newval
ERROR: Tags with the following keys can't be updated because they don't exist:

  tag3
```

以下命令失败，因为它尝试更新和删除同一密钥。

```
$ eb tags --update mytag=newval --delete mytag
ERROR: A tag with the key 'mytag' is specified for both '--delete' and '--update'. Each tag can be either deleted or updated in a single operation.
```

# **eb terminate**
<a name="eb3-terminate"></a>

## 说明
<a name="eb3-terminatedescription"></a>

终止正在运行的环境，这样您就不会因为未使用的 AWS 资源而产生费用。

使用 `--all` 选项，删除当前目标已初始化为使用 [**eb init**](eb3-init.md) 的应用程序。该命令终止应用程序中的所有环境。它还会终止应用程序的[应用程序版本](applications-versions.md)和其[保存的配置](environment-configuration-savedconfig.md)，然后删除应用程序。

如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则该命令会终止正在运行的自定义环境。

**注意**  
稍后，您始终都可以使用相同的版本启动新的环境。

如果环境中有要保留的数据，请在终止环境之前将数据库删除策略设置为 `Retain`。这使数据库能够在 Elastic Beanstalk 之外运行。之后，任何 Elastic Beanstalk 环境都必须作为外部数据库连接到它。如果要在不保持数据库运行的情况下备份数据，请将删除策略设置为在终止环境之前拍摄数据库快照。有关更多信息，请参阅本指南的*配置环境*章节中的[数据库生命周期](using-features.managing.db.md#environments-cfg-rds-lifecycle)。

**重要**  
如果您终止环境，则还必须删除您创建的任何 CNAME 映射，因为其他客户可能会重用可用的主机名。请务必删除指向已终止环境的 DNS 记录，以防出现 *悬空 DNS 条目*。悬空 DNS 条目可能会使指向您的域的互联网流量出现安全漏洞，此外还可能带来其他风险。  
有关更多信息，请参阅《Amazon Route 53 开发人员指南》中的 [防止 Route 53 中悬挂委派记录](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/protection-from-dangling-dns.html)**。您还可以在*AWS 安全博客*的 [Amazon CloudFront 请求增强域名保护](https://aws.amazon.com/blogs/security/enhanced-domain-protections-for-amazon-cloudfront-requests/)中了解有关悬挂 DNS 条目的更多信息。

## 语法
<a name="eb3-terminatesyntax"></a>

 **eb terminate** 

 **eb terminate *environment-name*** 

## 选项
<a name="eb3-terminateoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `--all`  |  终止应用程序中的所有环境，终止应用程序的[应用程序版本](applications-versions.md)和其[保存的配置](environment-configuration-savedconfig.md)，然后删除应用程序。  | 
|  `--force`  |  终止环境，不提示确认。  | 
|  `--ignore-links`  |  终止环境，即使它有链接的依赖环境。请参阅[编写环境](ebcli-compose.md)。  | 
|  `--timeout`  |  命令超时之前的分钟数。  | 

## Output
<a name="eb3-terminateoutput"></a>

如果成功，则该命令返回 `terminate` 操作的状态。

## 示例
<a name="eb3-terminateexample"></a>

以下示例请求终止环境 tmp-dev。

```
$ eb terminate
The environment "tmp-dev" and all associated instances will be terminated.
To confirm, type the environment name: tmp-dev
2018-07-11 21:05:25    INFO: terminateEnvironment is starting.
2018-07-11 21:05:40    INFO: Deleted CloudWatch alarm named: awseb-e-2cpfjbra9a-stack-AWSEBCloudwatchAlarmHigh-16V08YOF2KQ7U
2018-07-11 21:05:41    INFO: Deleted CloudWatch alarm named: awseb-e-2cpfjbra9a-stack-AWSEBCloudwatchAlarmLow-6ZAWH9F20P7C
2018-07-11 21:06:42    INFO: Deleted Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:11122223333:scalingPolicy:5d7d3e6b-d59b-47c5-b102-3e11fe3047be:autoScalingGroupName/awseb-e-2cpfjbra9a-stack-AWSEBAutoScalingGroup-7AXY7U13ZQ6E:policyName/awseb-e-2cpfjbra9a-stack-AWSEBAutoSca
lingScaleUpPolicy-1876U27JEC34J
2018-07-11 21:06:43    INFO: Deleted Auto Scaling group policy named: arn:aws:autoscaling:us-east-2:11122223333:scalingPolicy:29c6e7c7-7ac8-46fc-91f5-cfabb65b985b:autoScalingGroupName/awseb-e-2cpfjbra9a-stack-AWSEBAutoScalingGroup-7AXY7U13ZQ6E:policyName/awseb-e-2cpfjbra9a-stack-AWSEBAutoSca
lingScaleDownPolicy-SL4LHODMOMU
2018-07-11 21:06:48    INFO: Waiting for EC2 instances to terminate. This may take a few minutes.
2018-07-11 21:08:55    INFO: Deleted Auto Scaling group named: awseb-e-2cpfjbra9a-stack-AWSEBAutoScalingGroup-7AXY7U13ZQ6E
2018-07-11 21:09:10    INFO: Deleted security group named: awseb-e-2cpfjbra9a-stack-AWSEBSecurityGroup-XT4YYGFL7I99
2018-07-11 21:09:40    INFO: Deleted load balancer named: awseb-e-2-AWSEBLoa-AK6RRYFQVV3S
2018-07-11 21:09:42    INFO: Deleting SNS topic for environment tmp-dev.
2018-07-11 21:09:52    INFO: terminateEnvironment completed successfully.
```

# **eb upgrade**
<a name="eb3-upgrade"></a>

## 说明
<a name="eb3-upgradedescription"></a>

将环境的平台升级到当前正在运行环境的平台的最新版本。

如果根目录包含一个指定自定义平台的 `platform.yaml` 文件，则该命令会将环境升级到当前正在运行环境的自定义平台的最新版本。

## 语法
<a name="eb3-upgradesyntax"></a>

 **eb upgrade** 

 **eb upgrade *environment-name*** 

## 选项
<a name="eb3-upgradeoptions"></a>


****  

|  Name  |  描述  | 
| --- | --- | 
|  `--force`  |  在开始升级过程之前无需您确认环境名称即可升级。  | 
|  `--noroll`  |  在不使用滚动更新的情况下更新所有实例可在升级期间保留一些使用中的实例。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 

## Output
<a name="eb3-upgradeoutput"></a>

该命令将显示更改概述并提示您通过键入环境名称来确认升级。如果成功，环境将更新并随最新版本的平台一起启动。

## 示例
<a name="eb3-upgradeexample"></a>

以下示例将指定环境的当前平台版本升级到最新的可用平台版本。

```
$ eb upgrade
Current platform: 64bit Amazon Linux 2014.09 v1.0.9 running Python 2.7
Latest platform:  64bit Amazon Linux 2014.09 v1.2.0 running Python 2.7

WARNING: This operation replaces your instances with minimal or zero downtime. You may cancel the upgrade after it has started by typing "eb abort".
You can also change your platform version by typing "eb clone" and then "eb swap".

To continue, type the environment name:
```

# **eb use**
<a name="eb3-use"></a>

## 说明
<a name="eb3-usedescription"></a>

将指定环境设置为默认环境。

使用 Git 时，**eb use** 可为当前分支设置默认环境。请在每个您想部署到 Elastic Beanstalk 的分支中运行一次此命令。

## 语法
<a name="eb3-usesyntax"></a>

 **eb use *environment-name*** 

## 选项
<a name="eb3-useoptions"></a>


****  

|  Name  |  说明  | 
| --- | --- | 
|  `--source codecommit/repository-name/branch-name`  |  CodeCommit 存储库和分支。  | 
|  `-r region` `--region region`  |  更改您创建环境的区域。  | 
|  [常用选项](eb3-cmd-options.md)  |  | 