

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

# 为 CodeCommit 来源创建 EventBridge 规则（控制台）
<a name="pipelines-trigger-source-repo-changes-console"></a>

**重要**  
如果您使用控制台创建或编辑管道，则会为您创建 EventBridge 规则。

**创建用于 CodePipeline 操作的 EventBridge 规则**

1. 打开 Amazon EventBridge 控制台，网址为[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)。

1. 在导航窗格中，选择**规则**。保留选中的默认总线或选择一个事件总线。选择 **Create rule**（创建规则）。

1. 在**名称**中，输入规则的名称。

1. 对于**规则类型**，选择**具有事件模式的规则**。选择**下一步**。

1. 在 “**事件来源**” 下，选择**AWS 事件或 EventBridge 合作伙伴事件**。

1. 在**示例事件类型**下，选择 **AWS 事件**。

1. 在**示例事件**中，键入 CodeCommit 作为要筛选的关键字。选择 “**CodeCommit 存储库状态更改”**。

1. 在**创建方法**下，选择**自定义模式（JSON 编辑器）**。

   粘贴下面提供的事件模式。以下是带有名为的分支的`MyTestRepo`存储库的 “**事件**” 窗口中的示例 CodeCommit事件模式`main`：

   ```
   {
     "source": [
       "aws.codecommit"
     ],
     "detail-type": [
       "CodeCommit Repository State Change"
     ],
     "resources": [
       "arn:aws:codecommit:us-west-2:80398EXAMPLE:MyTestRepo"
     ],
     "detail": {
       "referenceType": [
         "branch"
       ],
       "referenceName": [
         "main"
       ]
     }
   }
   ```

1. 在**目标**中，选择**CodePipeline**。

1. 输入该规则将启动的管道的管道 ARN。
**注意**  
在运行 **get-pipeline** 命令后，您可以在元数据输出中找到管道 ARN。管道 ARN 是使用以下格式构造的：  
arn: aws: codepiline::: {{region}} {{account}} {{pipeline-name}}  
示例管道 ARN：  
`arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline`

1. 要创建或指定一个 IAM 服务角色以授予调用与您的 EventBridge 规则关联的目标的 EventBridge 权限（在本例中，目标是 CodePipeline），请执行以下操作：
   + 选择 “**为此特定资源创建新角色**” 以创建服务角色，该角色 EventBridge授予您启动管道执行的权限。
   + 选择 “**使用现有角色**” 输入一个服务角色，该角色 EventBridge 授予您启动管道执行的权限。

1. （可选）要使用特定映像 ID 指定源覆盖，请使用输入转换器将数据作为 JSON 参数传递。您也可以使用输入转换器来传递管道变量。
   + 展开**其他设置**。

     对于**配置目标输入**，选择**配置输入转换器**。

     在对话框窗口中，选择**输入我自己的**。在**输入路径**框中，键入以下键值对。

     ```
     {"revisionValue": "$.detail.image-digest"}
     ```
   + 在**模板**框中，键入以下键值对。

     ```
     {
         "sourceRevisions": [
             {
                 "actionName": "Source",
                 "revisionType": "COMMIT_ID",
                 "revisionValue": "<{{revisionValue}}>"
             }
         ],
         "variables": [
             {
                 "name": "{{Branch_Name}}",
                 "value": "value"
             }
         ]
     }
     ```
   + 选择**确认**。

1. 选择**下一步**。

1. 在**标签**页面上，选择**下一步**。

1. 在**查看和创建**页面上，检查规则配置。如果您对规则满意，请选择 **Create rule**。