

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

# Amazon ECR 源操作参考
<a name="action-reference-ECR"></a>

在新映像推送到 Amazon ECR 存储库时触发管道。此操作提供了一个映像定义文件，该文件引用推送到 Amazon ECR 的映像的 URI。此源操作通常与其他源操作（例如 CodeCommit）结合使用，以允许所有其他源构件的源位置。有关更多信息，请参阅 [教程：使用 Amazon ECR 源和 ECS-to-CodeDeploy部署创建管道](tutorials-ecs-ecr-codedeploy.md)。

当您使用控制台创建或编辑管道时， CodePipeline 会创建一个 EventBridge 规则，当存储库发生更改时，该规则会启动您的管道。

**注意**  
对于 Amazon ECR、Amazon S3 或 CodeCommit 源，您还可以使用输入转换条目创建源替换，以便`revisionValue`在 EventBridge 管道事件中使用 in，其中派生自对象密钥、提交或图像 ID 的源事件变量。`revisionValue`有关更多信息，请参阅[Amazon ECR 源操作和 EventBridge 资源](create-cwe-ecr-source.md)、[连接到启用事件源的 Amazon S3 源操作](create-S3-source-events.md)或[CodeCommit 源操作和 EventBridge](triggering.md)下的流程中包含的输入转换条目的可选步骤。

您必须事先创建 Amazon ECR 存储库并推送映像，然后才能通过 Amazon ECR 操作连接管道。

**Topics**
+ [操作类型](#action-reference-ECR-type)
+ [配置参数](#action-reference-ECR-config)
+ [输入构件](#action-reference-ECR-input)
+ [输出构件](#action-reference-ECR-output)
+ [输出变量](#action-reference-ECR-variables)
+ [服务角色权限：Amazon ECR 操作](#edit-role-ecr)
+ [操作声明（Amazon ECR 示例）](#action-reference-ECR-example)
+ [另请参阅](#action-reference-ECR-links)

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

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

**RepositoryName**  
是否必需：是  
向其中推送映像的 Amazon ECR 存储库的名称。

**ImageTag**  
必需：否  
为映像使用的标签。  
如果未指定 `ImageTag` 的值，则该值默认为 `latest`。

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

## 输出构件
<a name="action-reference-ECR-output"></a>
+ **构件数：**`1`
+ **描述：**此操作生成包含 `imageDetail.json` 文件的构件，该文件包含触发管道执行的映像的 URI。有关 `imageDetail.json` 文件的信息，请参阅[用于亚马逊 ECS 部署操作的 imageDetail.json 文件 blue/green](file-reference.md#file-reference-ecs-bluegreen)。

## 输出变量
<a name="action-reference-ECR-variables"></a>

配置后，此操作会生成变量，该变量可由管道中下游操作的操作配置引用。此操作生成的变量可视为输出变量，即使操作没有命名空间也是如此。您可以使用命名空间配置操作，以使这些变量可用于下游操作的配置。

有关更多信息，请参阅 [变量参考](reference-variables.md)。

**RegistryId**  
与包含存储库的注册表关联的 Amazon 账户 ID。

**RepositoryName**  
向其中推送映像的 Amazon ECR 存储库的名称。

**ImageTag**  
为映像使用的标签。  
当源修订被覆盖时，`ImageTag` 输出变量不会输出

**ImageDigest**  
映像清单的 `sha256` 摘要。

**ImageURI**  
映像的 URI。

## 服务角色权限：Amazon ECR 操作
<a name="edit-role-ecr"></a>

对于 Amazon ECR 支持，请将以下内容添加到策略语句中：

```
{
    "Effect": "Allow",
    "Action": [
        "ecr:DescribeImages"
    ],
    "Resource": "resource_ARN"
},
```

有关此操作的更多信息，请参阅[Amazon ECR 源操作参考](#action-reference-ECR)。

## 操作声明（Amazon ECR 示例）
<a name="action-reference-ECR-example"></a>

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

```
Name: Source
Actions:
  - InputArtifacts: []
    ActionTypeId:
      Version: '1'
      Owner: AWS
      Category: Source
      Provider: ECR
    OutputArtifacts:
      - Name: SourceArtifact
    RunOrder: 1
    Configuration:
      ImageTag: latest
      RepositoryName: my-image-repo

    Name: ImageSource
```

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

```
{
    "Name": "Source",
    "Actions": [
        {
            "InputArtifacts": [],
            "ActionTypeId": {
                "Version": "1",
                "Owner": "AWS",
                "Category": "Source",
                "Provider": "ECR"
            },
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "RunOrder": 1,
            "Configuration": {
                "ImageTag": "latest",
                "RepositoryName": "my-image-repo"
            },
            "Name": "ImageSource"
        }
    ]
},
```

------

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

下列相关资源在您使用此操作的过程中会有所帮助。
+ [教程：使用 Amazon ECR 源和 ECS-to-CodeDeploy部署创建管道](tutorials-ecs-ecr-codedeploy.md)— 本教程提供了一个示例应用程序规范文件以及示例 CodeDeploy 应用程序和部署组，用于创建管道，其中包含部署到 Amazon ECS 实例的 Amazon ECR 源。 CodeCommit 