

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

# Elastic Beanstalk 部署操作参考
<a name="action-reference-Beanstalk"></a>

Elastic Beanstalk 是一个用于部署和扩展 Web 应用程序的 AWS 平台。您需要使用 Elastic Beanstalk 操作将应用程序代码部署到您的部署环境。

**Topics**
+ [操作类型](#action-reference-Beanstalk-type)
+ [配置参数](#action-reference-Beanstalk-config)
+ [输入构件](#action-reference-Beanstalk-input)
+ [输出构件](#action-reference-Beanstalk-output)
+ [服务角色权限：`ElasticBeanstalk` 部署操作](#edit-role-beanstalk)
+ [操作声明](#action-reference-Beanstalk-example)
+ [另请参阅](#action-reference-Beanstalk-links)

## 操作类型
<a name="action-reference-Beanstalk-type"></a>
+ 类别：`Deploy`
+ 拥有者：`AWS`
+ 提供方：`ElasticBeanstalk`
+ 版本：`1`

## 配置参数
<a name="action-reference-Beanstalk-config"></a>

**ApplicationName**  
是否必需：是  
您在 Elastic Beanstalk 中创建的应用程序的名称。

**EnvironmentName**  
是否必需：是  
您在 Elastic Beanstalk 中创建的环境的名称。环境是运行应用程序版本的 AWS 资源集合。每个环境一次只运行一个应用程序版本，但您可以同时在多个环境中运行相同或不同的应用程序版本。

## 输入构件
<a name="action-reference-Beanstalk-input"></a>
+ **构件数：**`1`
+ **描述：**操作的输入构件。

## 输出构件
<a name="action-reference-Beanstalk-output"></a>
+ **构件数：**`0`
+ **描述：**输出构件不适用于此操作类型。

## 服务角色权限：`ElasticBeanstalk` 部署操作
<a name="edit-role-beanstalk"></a>

对于 Elastic Beanstalk，需要以下最低权限才能创建具有 `ElasticBeanstalk` 部署操作的管道。

```
{
    "Effect": "Allow",
    "Action": [
        "elasticbeanstalk:*",
        "ec2:*",
        "elasticloadbalancing:*",
        "autoscaling:*",
        "cloudwatch:*",
        "s3:*",
        "sns:*",
        "cloudformation:*",
        "rds:*",
        "sqs:*",
        "ecs:*"
    ],
    "Resource": "{{resource_ARN}}"
},
```

**注意**  
您应将资源策略中的通配符替换为要限制访问的账户资源。有关创建策略以授予最低权限访问权限的更多信息，请参阅 [https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)。

## 操作声明
<a name="action-reference-Beanstalk-example"></a>

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: ElasticBeanstalk
      Version: '1'
    RunOrder: 1
    Configuration:
      ApplicationName: {{my-application}}
      EnvironmentName: {{my-environment}}
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "ElasticBeanstalk",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "ApplicationName": "{{my-application}}",
                "EnvironmentName": "{{my-environment}}"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

## 另请参阅
<a name="action-reference-Beanstalk-links"></a>

下列相关资源在您使用此操作的过程中会有所帮助。
+ [将 Flask 应用程序部署到 Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html)：本教程将引导您使用示例 Flask 应用程序在 Elastic Beanstalk 中创建应用程序和环境资源。然后，您可以使用 Elastic Beanstalk 部署操作来构建您的管道，该操作会将您的应用程序从源存储库部署到 Elastic Beanstalk 环境。