

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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 來源，您也可以使用輸入轉換項目建立來源覆寫，以針對管道事件在 EventBridge `revisionValue`中使用 ，其中 `revisionValue` 衍生自物件金鑰、遞交或映像 ID 的來源事件變數。如需詳細資訊，請參閱 [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)
+ [Input artifacts (輸入成品)](#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`。

## Input artifacts (輸入成品)
<a name="action-reference-ECR-input"></a>
+ **成品數量：** `0`
+ **描述：**輸入成品不適用於此動作類型。

## 輸出成品
<a name="action-reference-ECR-output"></a>
+ **成品數量：** `1`
+ **描述：**這個動作會產生包含 `imageDetail.json` 檔案的成品，而此檔案包含觸發管道執行之映像的 URI。如需 `imageDetail.json` 詳細資訊，請參閱 [Amazon ECS 藍/綠部署動作的 imageDetail.json 檔案](file-reference.md#file-reference-ecs-bluegreen)。

## 輸出變數
<a name="action-reference-ECR-variables"></a>

設定時，此動作會產生變數，供管道中的下游動作的動作組態所參考。即使此動作沒有命名空間，此動作產生的變數仍可視為輸出變數。您可以設定動作的命名空間，讓這些變數可供下游動作的組態使用。

如需詳細資訊，請參閱[變數參考](reference-variables.md)。

**RegistryId**  
與包含儲存庫之登錄相關聯的 AWS 帳戶 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 執行個體的 CodeCommit 和 Amazon ECR 來源建立管道。