

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

# 什么是开发工具控制台？
<a name="what-is-dtconsole"></a>

开发工具控制台是一组服务和功能的所在地，您可以单独或共同使用这些服务和功能来帮助您以个人或团队形式开发软件。开发人员工具可帮助您安全地存储、构建、测试和部署软件。这些工具可单独或共同使用，为持续集成和持续交付 (CI/CD) 提供支持。 DevOps

开发工具控制台包括以下服务：
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/) 是一项完全托管的源代码控制服务，可托管私有 Git 存储库。您可以使用存储库在 AWS 云中私下存储和管理资产（如文档、源代码和二进制文件）。您的存储库将储存从首次提交到最新更改的项目历史记录。您可以通过对代码进行注释并创建拉取请求来帮助确保代码质量，从而协作处理存储库中的代码。
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/) 是一项完全托管的构建服务，可编译源代码、运行单元测试和生成部署就绪的构件。它提供了适用于常用编程语言的预先打包的构建环境以及 Apache Maven 和 Gradle 等构建工具。您还可以在中自定义构建环境 CodeBuild 以使用自己的构建工具。
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/)是一项完全托管的部署服务，可自动将软件部署到计算服务（例如 Amazon EC2）和您的本地服务器。 AWS Lambda它可帮助您快速推出新功能，避免在应用程序部署过程中出现停机，并简化应用程序的更新工作。
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/) 是一项持续集成和持续交付服务，可用于建模、可视化和自动执行发布软件所需的步骤。您可快速对软件发布过程的不同阶段进行建模和配置。根据您定义的发布流程模型，只要代码发生变化，您便能构建、测试和部署您的代码。

以下示例说明了如何将开发工具控制台中的各项服务结合使用来帮助您开发软件。

![\[使用 AWS 开发者工具控制台中服务的示例 CI/CD 管道。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/ExampleCICDPipeline.png)


在此示例中，开发人员在中创建了一个存储库， CodeCommit 并使用它来开发和协作开发他们的代码。他们在中创建一个构建项目 CodeBuild 来构建和测试其代码，并用于将其代码部署 CodeDeploy 到测试和生产环境中。他们想要快速迭代，因此他们创建了一个管道 CodePipeline 来检测 CodeCommit 存储库中的更改。构建这些更改并运行了测试，还将成功构建和测试的代码部署到测试服务器。团队将测试阶段添加到管道，以便在临时服务器上运行更多测试，例如集成或负载测试。成功完成这些测试后，团队成员将审查结果，如果满意，则手动批准更改以进行生产。 CodePipeline 将经过测试和批准的代码部署到生产实例。

这只是一个简单示例，说明如何使用开发工具控制台中提供的一项或多项服务来帮助您开发软件。可以对每项服务进行自定义来满足您的需求。它们提供了与其他产品和服务的许多集成，包括与其他第三方工具的 AWS 集成。有关更多信息，请参阅以下主题：
+ CodeCommit: [产品和服务集成](https://docs.aws.amazon.com/codecommit/latest/userguide/integrations.html)
+ CodeBuild: [ CodeBuild 与 Jenkins 一起使用](https://docs.aws.amazon.com/codebuild/latest/userguide/jenkins-plugin.html)
+ CodeDeploy: [产品和服务集成](https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations.html)
+ CodePipeline: [产品和服务集成](https://docs.aws.amazon.com/codepipeline/latest/userguide/integrations.html)

## 您是 新用户吗？
<a name="first-time-user"></a>

如果您是开发工具控制台中提供的一项或多项服务的新用户，我们建议您首先阅读以下主题：
+ [ CodeCommit 入门](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started-cc.html)
+ [入门 CodeBuild，](https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started.html)[概念画板](https://docs.aws.amazon.com/codebuild/latest/userguide/concepts.html)
+ [入门 CodeDeploy，](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-codedeploy.html)[主组件](https://docs.aws.amazon.com/codedeploy/latest/userguide/primary-components.html)
+ [入门 CodePipeline，](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-codepipeline.html)[概念画板](https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html)

## 开发工具控制台的功能
<a name="servicename-feature-overview"></a>

开发工具控制台包括以下功能：
+ 开发者工具控制台包含通知管理器功能，您可以使用该功能订阅 AWS CodeBuild、 AWS CodeCommit AWS CodeDeploy、和中的事件 AWS CodePipeline。此功能有自己的 API，即 AWS CodeStar 通知。您可以使用通知功能来快速向用户通知有关存储库、构建项目、部署应用程序和管道中对其工作最重要的事件的信息。通知管理器可帮助用户了解存储库、构建、部署或管道上发生的事件，以便他们能够快速采取措施，例如批准更改或更正错误。有关更多信息，请参阅 [什么是通知？](welcome.md)。
+ 开发工具控制台包含一个连接功能，您可以使用该功能将 AWS 资源与第三方源代码提供程序关联起来。此功能有自己的 API， AWS CodeConnections。您可以使用连接功能与第三方提供商建立授权连接，并将连接资源与其他 AWS 服务一起使用。有关更多信息，请参阅 [什么是连接？](welcome-connections.md)。

# 什么是通知？
<a name="welcome"></a>

开发者工具控制台中的通知功能是一个通知管理器，用于订阅 AWS CodeBuild AWS CodeCommit、 AWS CodeDeploy 和 AWS CodePipeline中的事件。它有自己的API，即 AWS CodeStar 通知。您可以使用通知功能来快速向用户通知有关存储库、构建项目、部署应用程序和管道中对其工作最重要的事件的信息。通知管理器可帮助用户了解存储库、构建、部署或管道上发生的事件，以便他们能够快速采取措施，例如批准更改或更正错误。

## 可以使用通知完成哪些操作？
<a name="welcome-what-can-I-do"></a>

您可以使用通知功能来创建和管理通知规则，以向用户告知对其资源进行的重要更改，包括：
+ 在构建项目中 CodeBuild 构建成功和失败。
+  CodeDeploy 应用程序中的部署成功和失败。
+ 在 CodeCommit 存储库中创建和更新拉取请求，包括对代码的注释。
+ 手动批准状态和管道正在运行。 CodePipeline

您可以设置通知，以使它们进入订阅了 Amazon SNS 主题的用户电子邮件地址。您还可以将此功能与 [AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html) 集成，并将通知传递到 Slack 通道、Microsoft Teams 通道或 Amazon Chime 聊天室。

## 通知的工作原理是什么？
<a name="welcome-how-it-works"></a>

当您为支持的资源（例如存储库、构建项目、应用程序或管道）配置通知规则时，通知功能会创建一个 Amazon EventBridge 规则来监控您指定的事件。当发生此类事件时，通知规则会将通知发送到指定为该规则的目标的 Amazon SNS 主题。这些目标的订阅者会收到有关这些事件的通知。

## 如何开始使用通知？
<a name="welcome-get-started"></a>

要开始使用通知，请先回顾此处提供的一些实用主题：
+ **了解**通知的[概念](concepts.md)。
+ **设置**开始使用通知[所需的资源](setting-up.md)。
+ **开始使用**您的[第一条通知规则](getting-started.md)并接收您的第一条通知。

# 通知概念
<a name="concepts"></a>

如果您了解概念和术语，则可更轻松地设置和使用通知。以下是使用通知时要了解的一些概念。

**Topics**
+ [通知](#notifications)
+ [通知规则](#rules)
+ [Events](#events)
+ [详细信息类型](#detail-type)
+ [Targets](#targets)
+ [通知和 AWS CodeStar 通知](#concepts-api)
+ [存储库的通知规则的事件](#events-ref-repositories)
+ [构建项目的通知规则的事件](#events-ref-buildproject)
+ [部署应用程序上的通知规则事件](#events-ref-deployapplication)
+ [管道的通知规则的事件](#events-ref-pipeline)

## 通知
<a name="notifications"></a>

*通知* 是一条消息，其中包含有关您和开发人员使用的资源中所发生事件的信息。您可以设置通知，以使资源（例如构建项目、存储库、部署应用程序或管道）的用户根据您创建的通知规则，接收有关您指定的事件类型的电子邮件。

的通知 AWS CodeCommit 可以通过使用会话标签包含用户身份信息，例如显示名称或电子邮件地址。 CodeCommit 支持使用会话标签，这些标签是您在担任 IAM 角色、使用临时证书或在 () 中 AWS Security Token Service 联合用户时传递的键值对属性。AWS STS您也可以将标签与 IAM 用户关联。 CodeCommit 如果存在这些标签`displayName`，则`emailAddress`在通知内容中包含和的值。有关更多信息，请参阅[中的使用标签提供其他身份信息 CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/security-iam.html#security_iam_service-with-iam-tags)。

**重要**  
通知包括特定于项目的信息，例如构建状态、部署状态、具有注释的代码行和管道批准。在添加新功能时，通知内容可能会发生变化。作为安全最佳实践，您应定期查看通知规则和 Amazon SNS 主题订阅者的目标。有关更多信息，请参阅 [了解通知内容和安全性](security.md#security-notifications)。

## 通知规则
<a name="rules"></a>

*通知规则*是您创建的一种 AWS 资源，用于指定通知的发送时间和地点。它定义：
+ 创建通知的条件。这些条件基于您选择的事件，特定于资源类型。支持的资源类型包括在中生成项目 AWS CodeBuild、在中部署应用程序 AWS CodeDeploy、输入管道和中的存储库 AWS CodeCommit。 AWS CodePipeline
+ 将通知发送到的目标。您最多可以为一个通知规则指定 10 个目标。

通知规则的范围仅限于各个构建项目、部署应用程序、管道和存储库。通知规则既有用户定义的友好名称，也有亚马逊资源名称 (ARNs)。必须在资源所在的同一 AWS 区域创建通知规则。例如，如果您在美国东部（俄亥俄）区域中构建项目，则还必须在美国东部（俄亥俄）区域中创建您的通知规则。

您最多可以为资源定义 10 条通知规则。

## Events
<a name="events"></a>

*事件* 是要监视的资源上的状态更改。每个资源都有事件类型的列表，您可以从中进行选择。在资源上设置通知规则时，可以指定导致发送通知的事件。例如，如果您在中为仓库设置了通知 CodeCommit，并且为**拉取请求**以及**分支和标签**都选择**了已创建**，则每当该存储库中的用户创建拉取请求、分支或 Git 标签时，都会发送通知。

## 详细信息类型
<a name="detail-type"></a>

创建通知规则时，您可以选择通知中包含的详细信息级别或*详细信息类型* （**Full (完整)** 或 **Basic (基本)**）。**Full (完整)** 设置（默认）在通知中包括可用于事件的所有信息，包括服务针对特定事件提供的任何增强信息。**Basic (基本)** 设置仅包括可用信息的子集。

下表列出可用于特定事件类型的增强信息，并描述详细信息类型之间的差异。


****  

| 服务  | 事件 | Full (完整) 包含 | Basic (基本) 不包括 | 
| --- | --- | --- | --- | 
|  CodeCommit  |  关于提交的注释 关于拉取请求的注释  |  所有事件详细信息和注释的内容，包括任何回复或注释主题。它还包括注释所依据的行号和代码行。  |  注释的内容、行号、代码行或任何注释主题。  | 
|  CodeCommit  |  已创建拉取请求  |  拉取请求中与目标分支相关的所有事件详细信息以及添加、修改或删除的文件数。  |  没有关于拉取请求源分支是否已添加、修改或删除文件的文件列表或详细信息。  | 
|  CodePipeline  |  需要手动批准  |  所有事件详细信息和自定义数据（如果已配置）。通知还包含指向管道中所需批准的链接。  |  没有自定义数据或链接。  | 
|  CodePipeline  |  操作执行失败 管道执行失败 阶段执行失败  |  故障的所有事件详细信息和错误消息的内容。  |  没有错误消息内容。  | 



## Targets
<a name="targets"></a>

*目标* 是从通知规则接收通知的位置。允许的目标类型是亚马逊 SNS 话题和为 Slack 或 Microsoft Teams 频道配置的 AWS 聊天机器人客户端。订阅目标的任何用户都会收到有关您在通知规则中指定的事件的通知。

如果您想扩大通知的覆盖范围，可以手动配置通知和 AWS 聊天机器人之间的集成，以便将通知发送到 Amazon Chime 聊天室。然后，您可以选择为该 AWS 聊天机器人客户端配置的 Amazon SNS 主题作为通知规则的目标。有关更多信息，请参阅 [将通知与 AWS Chatbot 和 Amazon Chime 集成](notifications-chatbot.md#notifications-chatbot-chime)。

如果您选择使用 AWS 聊天机器人客户端作为目标，则必须先在 Ch AWS atbot 中创建该客户端。当您选择 AWS 聊天机器人客户端作为通知规则的目标时，将为该 AWS 聊天机器人客户端配置一个 Amazon SNS 主题，其中包含将通知发送到 Slack 或 Microsoft Teams 频道所需的所有策略。您无需为聊天机器人 AWS 客户端配置任何现有的 Amazon SNS 主题。

您可选择在创建通知规则的过程中，创建 Amazon SNS 主题作为目标（推荐）。您也可以选择与通知规则位于同一 AWS 区域的现有 Amazon SNS 主题，但必须使用所需的策略对其进行配置。您用于目标的 Amazon SNS 主题必须位于您的 AWS 账户中。它还必须与通知规则和为其创建规则的 AWS 资源位于同一 AWS 区域。

例如，如果您在美国东部（俄亥俄）区域中为存储库创建通知规则，则 Amazon SNS 主题也必须存在于该区域中。如果在创建通知规则的过程中创建一个 Amazon SNS 主题，则会使用允许将事件发布到该主题所需的策略来配置该主题。这是使用目标和通知规则的最佳方法。如果您选择使用已存在的主题或手动创建一个主题，则必须在用户接收通知之前使用所需的权限配置该主题。有关更多信息，请参阅 [配置通知的 Amazon SNS 主题](set-up-sns.md)。

**注意**  
如果要使用现有 Amazon SNS 主题而不是创建新主题，请在 **Targets (目标)** 中选择其 ARN。请确保主题具有适当的访问策略，并且订阅者列表仅包含允许查看有关资源的信息的用户。如果 Amazon SNS 主题是在 2019 年 11 月 5 日之前用于 CodeCommit 通知的主题，则该主题将包含一项允许 CodeCommit 向其发布的政策，该策略包含的权限与通知所需的 AWS CodeStar 权限不同。建议不使用这些主题。如果要使用为该体验创建的策略，则除了已有的 AWS CodeStar 通知策略外，还必须添加所需的通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。

## 通知和 AWS CodeStar 通知
<a name="concepts-api"></a>

虽然通知是开发者工具控制台的一项功能，但它有自己的 API，即 AWS CodeStar 通知。它还具有自己的 AWS 资源类型（通知规则）、权限和事件。通知规则的事件将记录在 AWS CloudTrail中。可以通过 IAM 策略允许或拒绝 API 操作。

## 存储库的通知规则的事件
<a name="events-ref-repositories"></a>


| 类别 | Events | 事件 IDs | 
| --- | --- | --- | 
|  评论  |  提交时 拉取请求时  |  `codecommit-repository-comments-on-commits` `codecommit-repository-comments-on-pull-requests`  | 
| 审批 |  状态已更改 规则覆盖  |  `codecommit-repository-approvals-status-changed` `codecommit-repository-approvals-rule-override`  | 
|  拉取请求  |  创建时间 源代码已更新 状态已更改 已合并  |  `codecommit-repository-pull-request-created` `codecommit-repository-pull-request-source-updated` `codecommit-repository-pull-request-status-changed` `codecommit-repository-pull-request-merged`  | 
|  分支和标签  |  创建时间 已删除 已更新  | `codecommit-repository-branches-and-tags-created``codecommit-repository-branches-and-tags-deleted`codecommit-repository-branches-and-tags-updated | 

## 构建项目的通知规则的事件
<a name="events-ref-buildproject"></a>


| 类别 | Events | 事件 IDs | 
| --- | --- | --- | 
|  构建状态  |  失败 成功 进行中 Stopped（已停止）  |  `codebuild-project-build-state-failed` `codebuild-project-build-state-succeeded` `codebuild-project-build-state-in-progress` `codebuild-project-build-state-stopped`  | 
|  构建阶段  |  Failure 成功  |  `codebuild-project-build-phase-failure` `codebuild-project-build-phase-success`  | 

## 部署应用程序上的通知规则事件
<a name="events-ref-deployapplication"></a>


| 类别 | Events | 事件 IDs | 
| --- | --- | --- | 
|  部署  |  失败 成功 已启动  | `codedeploy-application-deployment-failed``codedeploy-application-deployment-succeeded`codedeploy-application-deployment-started | 

## 管道的通知规则的事件
<a name="events-ref-pipeline"></a>


| 类别 | Events | 事件 IDs | 
| --- | --- | --- | 
|  操作执行  |  成功 失败 已取消 已启动  |  `codepipeline-pipeline-action-execution-succeeded` `codepipeline-pipeline-action-execution-failed` `codepipeline-pipeline-action-execution-canceled` `codepipeline-pipeline-action-execution-started`  | 
|  阶段执行  |  已启动 成功 已恢复 已取消 已失败  |  `codepipeline-pipeline-stage-execution-started` `codepipeline-pipeline-stage-execution-succeeded` `codepipeline-pipeline-stage-execution-resumed` `codepipeline-pipeline-stage-execution-canceled` `codepipeline-pipeline-stage-execution-failed`  | 
|  管道执行  |  失败 已取消 已启动 已恢复 成功 Superseded  |  `codepipeline-pipeline-pipeline-execution-failed` `codepipeline-pipeline-pipeline-execution-canceled` `codepipeline-pipeline-pipeline-execution-started` `codepipeline-pipeline-pipeline-execution-resumed` `codepipeline-pipeline-pipeline-execution-succeeded` `codepipeline-pipeline-pipeline-execution-superseded`  | 
|  手动审批  |  失败 需要 成功  | `codepipeline-pipeline-manual-approval-failed``codepipeline-pipeline-manual-approval-needed`codepipeline-pipeline-manual-approval-succeeded | 

# 设置
<a name="setting-up"></a>

如果您有针对 AWS CodeBuild、 AWS CodeCommit AWS CodeDeploy、或 AWS CodePipeline 应用于您的 IAM 用户或角色的托管策略，则您拥有在策略提供的角色和权限限制范围内处理通知所需的权限。例如，已应用 `AWSCodeBuildAdminAccess`、`AWSCodeCommitFullAccess`、`AWSCodeDeployFullAccess` 或 `AWSCodePipeline_FullAccess` 托管策略的用户具有对通知的完全管理访问权限。

有关包括示例策略在内的更多信息，请参阅 [基于身份的策略](security-iam.md#security_iam_access-manage-id-based-policies)。

如果您将其中一个策略应用于您的 IAM 用户或角色，并且有中的 CodeBuild构建项目 CodeCommit、中的存储库 CodeDeploy、中的部署应用程序或中的管道 CodePipeline，那么您就可以创建第一个通知规则了。继续[开始使用通知](getting-started.md)。如果尚未这样做，请参阅以下主题：
+ CodeBuild: [入门 CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started.html)
+ CodeCommit: [入门 CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started-cc.html)
+ CodeDeploy：[教程](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorials.html)
+ CodePipeline: [入门 CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-codepipeline.html)

 如果您要自己管理 IAM 用户、组或角色的通知的管理权限，请按照本主题中的过程进行操作，以设置使用服务所需的权限和资源。

如果要对通知使用以前创建的 Amazon SNS 主题，而不是专门为通知创建主题，则必须通过应用允许将事件发布到 Amazon SNS 主题的策略，来将该主题配置为用作通知规则的目标。

**注意**  
要执行以下步骤，您必须使用具有管理权限的账户登录。有关更多信息，请参阅[创建您的第一个 IAM 管理员用户和组](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)。

**Topics**
+ [创建并应用针对通知的管理访问的策略](#set-up-permissions)
+ [配置通知的 Amazon SNS 主题](set-up-sns.md)
+ [为用户订阅作为目标的 Amazon SNS 主题](subscribe-users-sns.md)

## 创建并应用针对通知的管理访问的策略
<a name="set-up-permissions"></a>

您可以通过使用 IAM 用户登录或使用有权访问您要为其创建通知的服务和服务（AWS CodeBuild AWS CodeCommit、 AWS CodeDeploy、或 AWS CodePipeline）的角色来管理通知。您也可以创建自己的策略并将其应用于用户或组。

以下过程说明了如何配置具有管理通知和添加 IAM 用户的权限的 IAM 组。如果您不想设置组，则可以将此策略直接应用于 IAM 用户或用户可以代入的 IAM 角色。您也可以将托管策略用于 CodeBuild CodeCommit、 CodeDeploy CodePipeline、或，其中包括根据策略范围对通知功能的相应策略访问权限。

对于下面的策略，输入此策略的名称（例如 `AWSCodeStarNotificationsFullAccess`）和可选描述。该描述可帮助您记住策略的用途（例如 **This policy provides full access to AWS CodeStar Notifications.**）

**使用 JSON 策略编辑器创建策略**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左侧的导航窗格中，选择**策略**。

   如果这是您首次选择**策略**，则会显示**欢迎访问托管式策略**页面。选择**开始使用**。

1. 在页面的顶部，选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON** 选项。

1. 输入以下 JSON 策略文档：

   ```
    {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
         {
           "Sid": "AWSCodeStarNotificationsFullAccess",
           "Effect": "Allow",
           "Action": [
               "codestar-notifications:CreateNotificationRule",
               "codestar-notifications:DeleteNotificationRule",
               "codestar-notifications:DescribeNotificationRule",
               "codestar-notifications:ListNotificationRules",
               "codestar-notifications:UpdateNotificationRule",
               "codestar-notifications:Subscribe",
               "codestar-notifications:Unsubscribe",
               "codestar-notifications:DeleteTarget",
               "codestar-notifications:ListTargets",
               "codestar-notifications:ListTagsforResource",
               "codestar-notifications:TagResource",
               "codestar-notifications:UntagResource"
           ],
           "Resource": "*"
        }
      ]
   }
   ```

1. 选择**下一步**。
**注意**  
您可以随时在**可视化**和 **JSON** 编辑器选项卡之间切换。不过，如果您进行更改或在**可视化**编辑器中选择**下一步**，IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息，请参阅*《IAM 用户指南》*中的[调整策略结构](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**查看并创建**页面上，为您要创建的策略输入**策略名称**和**描述**（可选）。查看**此策略中定义的权限**以查看策略授予的权限。

1. 选择**创建策略**可保存新策略。

# 配置通知的 Amazon SNS 主题
<a name="set-up-sns"></a>

设置通知最简单的方法是在创建通知规则时创建 Amazon SNS 主题。如果现有 Amazon SNS 主题满足以下要求，则可使用该主题：
+ 它的创建方式与您要 AWS 区域 为其创建通知规则的资源（生成项目、部署应用程序、存储库或管道）相同。
+ 在 2019 年 11 月 5 日 CodeCommit 之前，它尚未用于发送通知。如果已经使用该主题，它将包含启用了该功能的策略语句。您可以选择使用此主题，但需要添加在该过程中指定的其他策略。如果在 2019 年 11 月 5 日之前仍然为通知配置了一个或多个存储库，则不应删除现有策略语句。
+ 它有一项政策，允许 AWS CodeStar 通知向该主题发布通知。<a name="set-up-sns-procedure"></a>

**配置 Amazon SNS 主题以用作 AWS CodeStar 通知通知规则的目标**

1. [登录 AWS 管理控制台 并在 v3/home 上打开亚马逊 SNS 控制台。https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home)

1. 在导航栏中，依次选择 **Topics (主题)**、要配置的主题和 **Edit (编辑)**。

1. 展开 **Access policy (访问策略)**，然后选择 **Advanced (高级)**。

1. 在 JSON 编辑器中，向策略中添加以下语句。包括主题 ARN、 AWS 区域、 AWS 账户 ID 和主题名称。

   ```
   	{
         "Sid": "AWSCodeStarNotifications_publish",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "codestar-notifications.amazonaws.com"
           ]
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules"
       }
   ```

   该策略语句应与以下内容类似。

   ```
   {
     "Version": "2008-10-17",		 	 	 
     "Id": "__default_policy_ID",
     "Statement": [
       {
         "Sid": "__default_statement_ID",
         "Effect": "Allow",
         "Principal": {
           "AWS": "*"
         },
         "Action": [
           "SNS:GetTopicAttributes",
           "SNS:SetTopicAttributes",
           "SNS:AddPermission",
           "SNS:RemovePermission",
           "SNS:DeleteTopic",
           "SNS:Subscribe",
           "SNS:ListSubscriptionsByTopic",
           "SNS:Publish"
         ],
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules",
         "Condition": {
           "StringEquals": {
             "AWS:SourceOwner": "123456789012"
           }
         }
       },
   	{
         "Sid": "AWSCodeStarNotifications_publish",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "codestar-notifications.amazonaws.com"
           ]
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules"
       }
     ]
   }
   ```

1. 选择**保存更改**。

1. 如果您想使用 AWS KMS加密的 Amazon SNS 主题发送通知，还必须通过在的策略中添加以下语句来启用事件源AWS CodeStar （通知）和加密主题之间的兼容性。 AWS KMS key将 AWS 区域 （在本例中为 us-east-2）替换为密钥 AWS 区域 的创建位置。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "codestar-notifications.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "kms:ViaService": "sns.us-east-2.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

   有关更多信息，请参阅 *AWS Key Management Service 开发人员指南*中的[静态加密](https://docs.aws.amazon.com/kms/latest/developerguide/sns-server-side-encryption.html#sns-what-permissions-for-sse)和[针对 AWS KMS使用策略条件](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html)。

# 为用户订阅作为目标的 Amazon SNS 主题
<a name="subscribe-users-sns"></a>

用户必须先订阅作为通知规则的目标的 Amazon SNS 主题，然后才能接收通知。如果用户通过电子邮件地址进行订阅，则必须在收到通知之前确认其订阅。要向 Slack 通道、Microsoft Teams 通道或 Amazon Chime 聊天室中的用户发送通知，请参阅[配置通知和 AWS Chatbot 之间的集成](notifications-chatbot.md)。<a name="set-up-sns-subscribe"></a>

**为用户订阅用于通知的 Amazon SNS 主题**

1. [登录 AWS 管理控制台 并在 v3/home 上打开亚马逊 SNS 控制台。https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home)

1. 在导航栏中，选择 **Topics (主题)**，然后选择要为用户订阅的主题。

1. 在**订阅**中，选择**创建订阅**。

1. 在**协议**中，选择**电子邮件**。在 **Endpoint (终端节点)** 中，输入电子邮件地址，然后选择 **Create subscription (创建订阅)**。

# 开始使用通知
<a name="getting-started"></a>

开始使用通知的最简单方法是在您的构建项目、部署应用程序、管道或存储库之一上设置通知规则。

**注意**  
首次创建通知规则时，您的账户中会创建服务相关角色。有关更多信息，请参阅 [为 AWS CodeStar 通知使用服务相关角色](using-service-linked-roles.md)。

**Topics**
+ [先决条件](#getting-started-prerequisites)
+ [为存储库创建通知规则](getting-started-repository.md)
+ [为构建项目创建通知规则](getting-started-build.md)
+ [为部署应用程序创建通知规则](getting-started-deploy.md)
+ [为管道创建通知规则](getting-started-pipeline.md)

## 先决条件
<a name="getting-started-prerequisites"></a>

完成 [设置](setting-up.md) 中的步骤。您还需要将为其创建通知规则的资源。
+ [在中创建构建项目 CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project.html)或使用现有项目。
+ [创建应用程序](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create.html)或使用现有部署应用程序。
+ [在中创建管道 CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-create.html)或使用现有管道。
+ [创建 AWS CodeCommit存储库](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-repository.html)或使用现有存储库。

# 为存储库创建通知规则
<a name="getting-started-repository"></a>

您可以创建通知规则，以发送有关对您很重要的存储库事件的通知。以下步骤显示如何在单个存储库事件上设置通知规则。这些步骤是在假设您的 AWS 账户中配置了存储库的情况下编写的。

**重要**  
如果您在 2019 年 11 月 5 日 CodeCommit 之前设置了通知，则用于这些通知的 Amazon SNS 主题将包含一项允许 CodeCommit 向其发布的策略，该策略包含的权限与通知所需的 AWS CodeStar 权限不同。建议不使用这些主题。如果要使用为该体验创建的策略，则除了已有的 AWS CodeStar 通知策略外，还必须添加所需的通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。

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

1. 从列表中选择一个存储库并将其打开。

1. 选择 **Notify (通知)**，然后选择 **Create notification rule (创建通知规则)**。您也可以依次选择 **Settings (设置)**、**Notifications (通知)** 和 **Create notification rule (创建通知规则)**。

1. 在 **Notification name（通知名称）**中，输入规则的名称。

1. 如果您只想在通知中 EventBridge 包含提供给 Amazon 的信息，请在 “**详情类型**” 中选择 “**基本**”。如果您想包括提供给 Amazon 的信息 EventBridge 以及可能由资源服务或通知管理器提供的信息，请选择 “**完整**”。

   有关更多信息，请参阅 [了解通知内容和安全性](security.md#security-notifications)。

1. 在 **Events that trigger notifications (触发通知的事件)** 中的 **Branches and tags (分支和标签)** 下，选择 **Created (已创建)**。

1. 在 **Targets（目标）**中，选择 **Create SNS topic（创建 SNS 主题）**。
**注意**  
当您在创建通知规则的过程中创建主题时，将应用允许 CodeCommit 向该主题发布事件的策略。使用为通知规则创建的主题有助于确保您仅订阅要接收有关此存储库的通知的那些用户。

   在 **codestar-notifications-** 前缀后面，输入主题的名称，然后选择 **Submit（提交）**。
**注意**  
如果要使用现有 Amazon SNS 主题而不是创建新主题，请在 **Targets (目标)** 中选择其 ARN。请确保主题具有适当的访问策略，并且订阅者列表仅包含允许查看有关资源的信息的用户。如果 Amazon SNS 主题是在 2019 年 11 月 5 日之前用于 CodeCommit 通知的主题，则该主题将包含一项允许 CodeCommit 向其发布的政策，该策略包含的权限与通知所需的 AWS CodeStar 权限不同。建议不使用这些主题。如果要使用为该体验创建的策略，则除了已有的 AWS CodeStar 通知策略外，还必须添加所需的通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。

1. 选择 **Submit (提交)**，然后查看通知规则。

1. 以您的电子邮件地址订阅您刚创建的 Amazon SNS 主题。有关更多信息，请参阅 [为用户订阅用于通知的 Amazon SNS 主题](subscribe-users-sns.md#set-up-sns-subscribe)。

1. 导航到您的存储库并从原定设置分支创建测试分支。

1. 创建分支后，通知规则会向所有主题订阅者发送通知，其中包含有关事件的信息。

# 为构建项目创建通知规则
<a name="getting-started-build"></a>

您可以创建通知规则，以发送有关对您非常重要的构建项目事件的通知。以下步骤显示如何在单个构建项目事件上设置通知规则。这些步骤是在假设您的 AWS 账户中配置了构建项目的前提下编写的。

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

1. 从列表中选择构建项目并将其打开。

1. 选择 **Notify (通知)**，然后选择 **Create notification rule (创建通知规则)**。您也可以选择 **Settings (设置)**，然后选择 **Create notification rule (创建通知规则)**。

1. 在 **Notification name（通知名称）**中，输入规则的名称。

1. 

   如果您只想在通知中 EventBridge 包含提供给 Amazon 的信息，请在 “**详情类型**” 中选择 “**基本**”。如果您想包括提供给 Amazon 的信息 EventBridge 以及可能由资源服务或通知管理器提供的信息，请选择 “**完整**”。

   有关更多信息，请参阅 [了解通知内容和安全性](security.md#security-notifications)。

1.  在 **Events that trigger notifications (触发通知的事件)** 中的 **Build phase (构建阶段)** 下，选择 **Success (成功)**。

1. 在 **Targets（目标）**中，选择 **Create SNS topic（创建 SNS 主题）**。
**注意**  
当您在创建通知规则的过程中创建主题时，将应用允许 CodeBuild 向该主题发布事件的策略。使用为通知规则创建的主题有助于确保您仅订阅要接收有关此构建项目的通知的那些用户。

   在 **codestar-notifications-** 前缀后面，输入主题的名称，然后选择 **Submit (提交)**。
**注意**  
如果要使用现有 Amazon SNS 主题而不是创建新主题，请在 **Targets (目标)** 中选择其 ARN。请确保主题具有适当的访问策略，并且订阅者列表仅包含允许查看有关资源的信息的用户。如果 Amazon SNS 主题是在 2019 年 11 月 5 日之前用于 CodeCommit 通知的主题，则该主题将包含一项允许 CodeCommit 向其发布的政策，该策略包含的权限与通知所需的 AWS CodeStar 权限不同。建议不使用这些主题。如果要使用为该体验创建的策略，则除了已有的 AWS CodeStar 通知策略外，还必须添加所需的通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。

1. 选择 **Submit (提交)**，然后查看通知规则。

1. 以您的电子邮件地址订阅您刚创建的 Amazon SNS 主题。有关更多信息，请参阅 [为用户订阅用于通知的 Amazon SNS 主题](subscribe-users-sns.md#set-up-sns-subscribe)。

1. 导航到您的构建项目并开始构建。

1. 在成功完成构建阶段之后，通知规则将向所有主题订阅者发送通知，其中包含有关该事件的信息。

# 为部署应用程序创建通知规则
<a name="getting-started-deploy"></a>

您可以创建通知规则，以发送有关对您非常重要的部署应用程序事件的通知。以下步骤显示如何在单个构建项目事件上设置通知规则。在编写这些步骤时，假设您已在 AWS 账户中配置一个部署应用程序。

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

1. 从列表中选择一个应用程序并将其打开。

1. 选择 **Notify (通知)**，然后选择 **Create notification rule (创建通知规则)**。您也可以选择 **Settings (设置)**，然后选择 **Create notification rule (创建通知规则)**。

1. 在 **Notification name（通知名称）**中，输入规则的名称。

1. 如果您只想在通知中 EventBridge 包含提供给 Amazon 的信息，请在 “**详情类型**” 中选择 “**基本**”。如果您想包括提供给 Amazon 的信息 EventBridge 以及可能由资源服务或通知管理器提供的信息，请选择 “**完整**”。

   有关更多信息，请参阅 [了解通知内容和安全性](security.md#security-notifications)。

   

1.  在 **Events that trigger notifications (触发通知的事件)** 中的 **Deployment (部署)** 下，选择 **Succeeded (已成功)**。

1. 在 **Targets（目标）**中，选择 **Create SNS topic（创建 SNS 主题）**。
**注意**  
当您在创建通知规则的过程中创建主题时，将应用允许 CodeDeploy 向该主题发布事件的策略。使用为通知规则创建的主题有助于确保您仅订阅要接收有关此部署应用程序的通知的那些用户。

   在 **codestar-notifications-** 前缀后面，输入主题的名称，然后选择 **Submit (提交)**。
**注意**  
如果要使用现有 Amazon SNS 主题而不是创建新主题，请在 **Targets (目标)** 中选择其 ARN。请确保主题具有适当的访问策略，并且订阅者列表仅包含允许查看有关资源的信息的用户。如果 Amazon SNS 主题是在 2019 年 11 月 5 日之前用于 CodeCommit 通知的主题，则该主题将包含一项允许 CodeCommit 向其发布的政策，该策略包含的权限与通知所需的 AWS CodeStar 权限不同。建议不使用这些主题。如果要使用为该体验创建的策略，则除了已有的 AWS CodeStar 通知策略外，还必须添加所需的通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。

1. 选择 **Submit (提交)**，然后查看通知规则。

1. 以您的电子邮件地址订阅您刚创建的 Amazon SNS 主题。有关更多信息，请参阅 [为用户订阅用于通知的 Amazon SNS 主题](subscribe-users-sns.md#set-up-sns-subscribe)。

1. 导航到部署应用程序并启动部署。

1. 部署成功后，通知规则会向所有主题订阅者发送通知，其中包含有关事件的信息。

# 为管道创建通知规则
<a name="getting-started-pipeline"></a>

您可以创建通知规则，以发送有关对您非常重要的管道的事件的通知。以下步骤显示如何在单个管道事件上设置通知规则。这些步骤是在假设您的 AWS 账户中配置了管道的情况下编写的。

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

1. 从列表中选择一个管道并将其打开。

1. 选择 **Notify (通知)**，然后选择 **Create notification rule (创建通知规则)**。您也可以选择 **Settings (设置)**，然后选择 **Create notification rule (创建通知规则)**。

1. 在 **Notification name（通知名称）**中，输入规则的名称。

1. 如果您只想在通知中 EventBridge 包含提供给 Amazon 的信息，请在 “**详情类型**” 中选择 “**基本**”。如果您想包括提供给 Amazon 的信息 EventBridge 以及可能由资源服务或通知管理器提供的信息，请选择 “**完整**”。

   有关更多信息，请参阅 [了解通知内容和安全性](security.md#security-notifications)。

1. 在 **Events that trigger notifications (触发通知的事件)** 中的 **Action execution (操作执行)** 下，选择 **Started (已开始)**。

1. 在 **Targets（目标）**中，选择 **Create SNS topic（创建 SNS 主题）**。
**注意**  
当您在创建通知规则的过程中创建主题时，将应用允许 CodePipeline 向该主题发布事件的策略。使用为通知规则创建的主题有助于确保您仅订阅要接收有关此管道的通知的那些用户。

   在 **codestar-notifications-** 前缀后面，输入主题的名称，然后选择 **Submit（提交）**。
**注意**  
如果要使用现有 Amazon SNS 主题而不是创建新主题，请在 **Targets (目标)** 中选择其 ARN。请确保主题具有适当的访问策略，并且订阅者列表仅包含允许查看有关资源的信息的用户。如果 Amazon SNS 主题是在 2019 年 11 月 5 日之前用于 CodeCommit 通知的主题，则该主题将包含一项允许 CodeCommit 向其发布的政策，该策略包含的权限与通知所需的 AWS CodeStar 权限不同。建议不使用这些主题。如果要使用为该体验创建的策略，则除了已有的 AWS CodeStar 通知策略外，还必须添加所需的通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。

1. 选择 **Submit (提交)**，然后查看通知规则。

1. 以您的电子邮件地址订阅您刚创建的 Amazon SNS 主题。有关更多信息，请参阅 [为用户订阅用于通知的 Amazon SNS 主题](subscribe-users-sns.md#set-up-sns-subscribe)。

1. 导航到您的管道，然后选择**发布更改**。

1. 在操作开始时，通知规则会向所有主题订阅者发送通知，其中包含有关事件的信息。

# 使用通知规则
<a name="notification-rules"></a>

通知规则可让您配置希望用户接收有关哪些事件的通知，并指定将接收这些通知的目标。您可以通过亚马逊 SNS 或为 Slack 或 Microsoft Teams 频道配置的 AWS Chatbot 客户端直接向用户发送通知。如果您想扩大通知的覆盖范围，可以手动配置通知和 AWS 聊天机器人之间的集成，以便将通知发送到 Amazon Chime 聊天室。有关更多信息，请参阅[Targets](concepts.md#targets)和[将通知与 AWS Chatbot 和 Amazon Chime 集成](notifications-chatbot.md#notifications-chatbot-chime)。

![\[在 AWS 开发者工具控制台中为仓库创建通知规则。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/create-notification-rule-repository.png)


您可以使用开发者工具控制台或 AWS CLI 来创建和管理通知规则。

**Topics**
+ [创建通知规则](notification-rule-create.md)
+ [查看通知规则](notification-rule-view.md)
+ [编辑通知规则](notification-rule-edit.md)
+ [为通知规则启用或禁用通知](notification-rule-enable-disable.md)
+ [删除通知规则](notification-rule-delete.md)

# 创建通知规则
<a name="notification-rule-create"></a>

您可以使用开发者工具控制台或 AWS CLI 来创建通知规则。您可以在创建规则的过程中，创建一个 Amazon SNS 主题来用作通知规则的目标。如果您想使用 AWS Chatbot 客户端作为目标，则必须先创建该客户端，然后才能创建规则。有关更多信息，请参阅 [为 Slack 频道配置 AWS 聊天机器人客户端](notifications-chatbot.md#notifications-chatbot-configure-client)。<a name="notification-rule-create-console"></a>

# 创建通知规则（控制台）
<a name="notification-rule-create-console"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 使用导航栏导航到该资源。
   + 对于 CodeBuild，选择 “**构建****”，选择 “生成项目**”，然后选择生成项目。
   + 对于 CodeCommit，选择**源**，选择**存储库**，然后选择存储库。
   + 对于 CodeDeploy，选择**应用程序**，然后选择一个应用程序。
   + 对于 CodePipeline，选择 “**管****道”，选择 “管道**”，然后选择管道。

1. 在资源页面上，选择 **Notify (通知)**，然后选择 **Create notification rule (创建通知规则)**。您也可以转到资源的 **Settings (设置)** 页面，转到 **Notifications (通知)** 或 **Notification rules (通知规则)**，然后选择 **Create notification rule (创建通知规则)**。

1. 在 **Notification name（通知名称）**中，输入规则的名称。

1. 如果您只想在通知中 EventBridge 包含提供给 Amazon 的信息，请在 “**详情类型**” 中选择 “**基本**”。如果您想包括提供给 Amazon 的信息 EventBridge 以及可能由资源服务或通知管理器提供的信息，请选择 “**完整**”。

   有关更多信息，请参阅 [了解通知内容和安全性](security.md#security-notifications)。

1.  在 **Events that trigger notifications（触发通知的事件）**中，选择要为其发送通知的事件。有关资源的事件类型，请参阅以下内容：
   + CodeBuild: [构建项目的通知规则的事件](concepts.md#events-ref-buildproject)
   + CodeCommit: [存储库的通知规则的事件](concepts.md#events-ref-repositories)
   + CodeDeploy: [部署应用程序上的通知规则事件](concepts.md#events-ref-deployapplication)
   + CodePipeline: [管道的通知规则的事件](concepts.md#events-ref-pipeline)

1. 在**目标**中，执行下列操作之一：
   + 如果您已将资源配置为与通知一起使用，请在**选择目标类型**中，选择 **AWS Chatbot (Slack)**、**AWS Chatbot (Microsoft Teams)** 或 **SNS 主题**。在**选择目标**中，选择客户名称（适用于在聊天 AWS 机器人中配置的 Slack 或 Microsoft Teams 客户端）或亚马逊 SNS 主题的亚马逊资源名称 (ARN)（适用于已经配置了通知所需策略的 Amazon SNS 主题）。
   + 如果您尚未将资源配置为与通知一起使用，请选择**创建目标**，然后选择 **SNS 主题**。在 **codestar-notifications-** 之后提供主题的名称，然后选择**创建**。
**注意**  
如果您在创建通知规则的过程中创建 Amazon SNS 主题，则为您应用允许通知功能将事件发布到主题的策略。使用为通知规则创建的主题有助于确保您仅订阅要接收有关此资源的通知的那些用户。
在创建通知规则的过程中，您无法创建 AWS Chatbot 客户端。如果你选择 AWS 聊天机器人（Slack）或聊天机器人 AWS （Microsoft Teams），你会看到一个按钮，指示你在聊天机器人中配置客户端。 AWS 选择该选项会打开 AWS Chatbot 控制台。有关更多信息，请参阅 [为 Slack 频道配置 AWS 聊天机器人客户端](notifications-chatbot.md#notifications-chatbot-configure-client)。
如果您想使用现有 Amazon SNS 主题作为目标，除了该主题可能存在的任何其他策略外，还必须添加所需的 AWS CodeStar 通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。


1. 选择 **Submit (提交)**，然后查看通知规则。
**注意**  
用户必须订阅并确认订阅您指定为规则目标的 Amazon SNS 主题，然后才能收到通知。有关更多信息，请参阅 [为用户订阅用于通知的 Amazon SNS 主题](subscribe-users-sns.md#set-up-sns-subscribe)。<a name="notification-rule-create-cli"></a>

# 创建通知规则（AWS CLI）
<a name="notification-rule-create-cli"></a>

1. 在终端或命令提示符处，运行 **create-notification rule** 命令以生成 JSON 骨架。

   ```
   aws codestar-notifications create-notification-rule --generate-cli-skeleton > rule.json
   ```

   您可以将此文件命名为所需的任意名称。在本示例中，文件命名为 *rule.json*。

1. 在纯文本编辑器中打开 JSON 文件，然后对其进行编辑，以包括该规则所需的资源、事件类型和 Amazon SNS 目标。

   以下示例显示了名为 ID 的 AWS 账户*MyDemoRepo*中名**MyNotificationRule**为存储库的通知规则*123456789012*。具有完整详细信息的通知将发送到创建分支和标签*MyNotificationTopic*时命名的 Amazon SNS 主题。

   ```
   {
       "Name": "MyNotificationRule",
       "EventTypeIds": [
           "codecommit-repository-branches-and-tags-created"
       ],
       "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo",
       "Targets": [
           {
               "TargetType": "SNS",
               "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic"
           }
       ],
       "Status": "ENABLED",
       "DetailType": "FULL"
   }
   ```

   保存该文件。

1. 通过使用您刚编辑的文件，在终端或命令行上，再次运行 **create-notification-rule** 命令以创建通知规则。

   ```
   aws codestar-notifications create-notification-rule --cli-input-json  file://rule.json
   ```

1. 如果成功，该命令将返回通知规则的 ARN，类似于以下内容。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```<a name="notification-rule-list-event-types"></a>

# 列出通知规则的事件类型 (AWS CLI)
<a name="notification-rule-list-event-types"></a>

1. 在终端或命令提示符处，运行 **list-event-types** 命令。您可以使用 `--filters` 选项将响应限制为特定资源类型或其他属性。例如，以下内容返回 CodeDeploy 应用程序的事件类型列表。

   ```
   aws codestar-notifications list-event-types --filters Name=SERVICE_NAME,Value=CodeDeploy
   ```

1. 此命令生成类似于下述信息的输出。

   ```
   {
       "EventTypes": [
           {
               "EventTypeId": "codedeploy-application-deployment-succeeded",
               "ServiceName": "CodeDeploy",
               "EventTypeName": "Deployment: Succeeded",
               "ResourceType": "Application"
           },
           {
               "EventTypeId": "codedeploy-application-deployment-failed",
               "ServiceName": "CodeDeploy",
               "EventTypeName": "Deployment: Failed",
               "ResourceType": "Application"
           },
           {
               "EventTypeId": "codedeploy-application-deployment-started",
               "ServiceName": "CodeDeploy",
               "EventTypeName": "Deployment: Started",
               "ResourceType": "Application"
           }
       ]
   }
   ```<a name="notification-rule-add-tag"></a>

# 向通知规则添加标签 (AWS CLI)
<a name="notification-rule-add-tag"></a>

1. 在终端或命令提示符处，运行 **tag-resource** 命令。例如，使用以下命令添加具有名称*Team*和值的标签键值对。*Li\$1Juan*

   ```
   aws codestar-notifications tag-resource --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/fe1efd35-EXAMPLE --tags Team=Li_Juan
   ```

1. 此命令生成类似于下述信息的输出。

   ```
   {
       "Tags": {
           "Team": "Li_Juan"
       }
   }
   ```

# 查看通知规则
<a name="notification-rule-view"></a>

您可以使用开发者工具控制台或 AWS CLI 查看某个 AWS 区域中所有资源的所有通知规则。您还可以查看每个通知规则的详细信息。与创建通知规则的过程不同，您不必转到资源的资源页面。<a name="notification-rule-view-console"></a>

# 查看通知规则（控制台）
<a name="notification-rule-view-console"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 在导航栏中，展开**设置**，然后选择**通知规则**。

1. 在**通知规则**中，在您当前登录的 AWS 区域 位置查看为您的 AWS 账户 资源配置的规则列表。使用选择器更改 AWS 区域。

1. 要查看一个通知规则的详细信息，请从列表中选择该规则，然后选择 **View details (查看详细信息)**。您也可以仅在列表中选择其名称。<a name="notification-rule-view-list-cli"></a>

# 查看通知规则列表 (AWS CLI)
<a name="notification-rule-view-list-cli"></a>

1. 在终端或命令提示符处，运行**list-notification-rules**命令以查看指定 AWS 区域的所有通知规则。

   ```
   aws codestar-notifications list-notification-rules --region us-east-1
   ```

1. 如果成功，此命令将返回该 AWS 区域中每条通知规则的 ID 和 ARN，如下所示。

   ```
   {
       "NotificationRules": [
           {
               "Id": "dc82df7a-EXAMPLE",
               "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
           },
           {
               "Id": "8d1f0983-EXAMPLE",
               "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/8d1f0983-EXAMPLE"
           }
       ]
   }
   ```<a name="notification-rule-view-details-cli"></a>

# 查看通知规则的详细信息 (AWS CLI)
<a name="notification-rule-view-details-cli"></a>

1. 在终端或命令提示符处，运行 **describe-notification-rule** 命令，并指定通知规则的 ARN。

   ```
   aws codestar-notifications describe-notification-rule --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE
   ```

1. 如果成功，该命令将返回类似于以下内容的输出。

   ```
   {
       "LastModifiedTimestamp": 1569199844.857,
       "EventTypes": [
           {
               "ServiceName": "CodeCommit",
               "EventTypeName": "Branches and tags: Created",
               "ResourceType": "Repository",
               "EventTypeId": "codecommit-repository-branches-and-tags-created"
           }
       ],
       "Status": "ENABLED",
       "DetailType": "FULL",
       "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo",
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE",
       "Targets": [
           {
               "TargetStatus": "ACTIVE",
               "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic",
               "TargetType": "SNS"
           }
       ],
       "Name": "MyNotificationRule",
       "CreatedTimestamp": 1569199844.857,
       "CreatedBy": "arn:aws:iam::123456789012:user/Mary_Major"
   }
   ```<a name="notification-rule-view-tags-cli"></a>

# 查看通知规则的标签列表 (AWS CLI)
<a name="notification-rule-view-tags-cli"></a>

1. 在终端或命令提示符处，运行 **list-tags-for-resource** 命令可查看指定通知规则 ARN 的所有标签。

   ```
   aws codestar-notifications list-tags-for-resource --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/fe1efd35-EXAMPLE
   ```

1. 如果成功，该命令返回类似以下内容的输出。

   ```
   {
       "Tags": {
           "Team": "Li_Juan"
       }
   }
   ```

# 编辑通知规则
<a name="notification-rule-edit"></a>

您可以通过编辑通知规则来更改其名称、其发送通知的事件、详细信息类型或其发送通知的一个或多个目标。您可以使用开发者工具控制台或编辑通知规则。 AWS CLI <a name="notification-rule-edit-console"></a>

# 编辑通知规则（控制台）
<a name="notification-rule-edit-console"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 在导航栏中，展开**设置**，然后选择**通知规则**。

1. 在**通知规则**中，查看在您当前登录 AWS 区域 的 AWS 账户中为资源配置的规则。使用选择器更改 AWS 区域。

1. 从列表中选择规则，然后选择 **Edit (编辑)**。进行更改，然后选择 **Submit (提交)**。<a name="notification-rule-edit-cli"></a>

# 编辑通知规则 (AWS CLI)
<a name="notification-rule-edit-cli"></a>

1. 在终端或命令提示符处，运行[describe-notification-rule命令](notification-rule-view.md#notification-rule-view-details-cli)以查看通知规则的结构。

1. 运行 **update-notification rule** 命令可生成 JSON 骨架并将其保存到文件中。

   ```
   aws codestar-notifications update-notification-rule --generate-cli-skeleton > update.json
   ```

   您可以将此文件命名为所需的任意名称。在本示例中，该文件为 *update.json*。

1. 在纯文本编辑器中打开 JSON 文件并更改规则。

   以下示例显示了名为 ID 的 AWS 账户*MyDemoRepo*中名**MyNotificationRule**为存储库的通知规则*123456789012*。通知会发送到创建分支和标签*MyNotificationTopic*时命名的 Amazon SNS 主题。规则名称已更改为*MyNewNotificationRule*。

   ```
   {
       "Name": "MyNewNotificationRule",
       "EventTypeIds": [
           "codecommit-repository-branches-and-tags-created"
       ],
       "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo",
       "Targets": [
           {
               "TargetType": "SNS",
               "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic"
           }
       ],
       "Status": "ENABLED",
       "DetailType": "FULL"
   }
   ```

   保存该文件。

1. 通过使用您刚编辑的文件，在终端或命令行上，再次运行 **update-notification-rule** 命令以更新通知规则。

   ```
   aws codestar-notifications update-notification-rule --cli-input-json  file://update.json
   ```

1. 如果成功，该命令将返回通知规则的 Amazon 资源名称 (ARN)，类似于以下内容。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```<a name="notification-rule-remove-tag-cli"></a>

# 从通知规则中删除标签 (AWS CLI)
<a name="notification-rule-remove-tag-cli"></a>

1. 在终端或命令提示符处，运行 **untag-resource** 命令。例如，以下命令删除名称为的标签*Team*。

   ```
   aws codestar-notifications untag-resource --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/fe1efd35-EXAMPLE --tag-keys Team
   ```

1. 如果成功，该命令不返回任何内容。

## 另请参阅
<a name="notification-rule-edit-also"></a>
+ [添加或删除通知规则的目标](notification-target-change-rule.md)
+ [为通知规则启用或禁用通知](notification-rule-enable-disable.md)
+ [Events](concepts.md#events)

# 为通知规则启用或禁用通知
<a name="notification-rule-enable-disable"></a>

创建通知规则时，默认情况下会启用通知。您无需删除规则即可阻止其发送通知。您只需更改其通知状态。<a name="notification-rule-enable-disable-console"></a>

# 更改通知规则的通知状态（控制台）
<a name="notification-rule-enable-disable-console"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 在导航栏中，展开**设置**，然后选择**通知规则**。

1. 在**通知规则**中，查看在您当前登录 AWS 区域 的 AWS 账户中为资源配置的规则。使用选择器更改 AWS 区域。

1. 找到要启用或禁用的通知规则，然后选择它以显示其详细信息。

1. 在 **Notification status (通知状态)** 中，选择滑块可更改规则的状态：
   + **Sending notifications (发送通知)**：这是默认值。
   + **Notifications paused (通知已暂停)**：不向指定目标发送任何通知。<a name="notification-rule-enable-cli"></a>

# 更改通知规则的通知状态 (AWS CLI)
<a name="notification-rule-enable-cli"></a>

1. 执行 [编辑通知规则 (AWS CLI)](notification-rule-edit.md#notification-rule-edit-cli) 中的步骤可获取通知规则的 JSON。

1. 将 `Status` 字段编辑为 `ENABLED`（默认值）或 `DISABLED`（无通知），然后运行 **update-notification-rule** 命令来更改状态。

   ```
   "Status": "ENABLED"
   ```

# 删除通知规则
<a name="notification-rule-delete"></a>

一个资源只能配置 10 个通知规则，因此，请考虑删除不再需要的规则。您可以使用开发者工具控制台或删除通知规则。 AWS CLI 

**注意**  
您无法撤消删除通知规则的操作，但可以重新创建该规则。删除通知规则不会删除目标。<a name="notification-rule-delete-console"></a>

# 删除通知规则（控制台）
<a name="notification-rule-delete-console"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 在导航栏中，展开**设置**，然后选择**通知规则**。

1. 在**通知规则**中，查看在您当前登录 AWS 区域 的 AWS 账户中为资源配置的规则。使用选择器更改 AWS 区域。

1. 选择通知规则，然后选择 **Delete (删除)**。

1. 键入 **delete**，然后选择**删除**。<a name="notification-rule-delete-cli"></a>

# 删除通知规则 (AWS CLI)
<a name="notification-rule-delete-cli"></a>

1. 在终端或命令提示符处，运行 **delete-notification-rule** 命令，并指定通知规则的 ARN。

   ```
   aws codestar-notifications delete-notification-rule --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE
   ```

1. 如果成功，该命令将返回删除的通知规则的 ARN，类似于以下内容。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```

# 使用通知规则目标
<a name="notification-targets"></a>

通知规则目标是一个目标，用于定义在满足通知规则的事件条件时希望将通知发送到的位置。你可以在 Amazon SNS 主题和为 Slack 或 Microsoft Teams 频道配置的 AWS Chatbot 客户端之间进行选择。您可在创建通知规则的过程中，创建 Amazon SNS 主题作为目标（推荐）。您也可以选择与通知规则位于同一 AWS 区域的现有 Amazon SNS 主题，但必须使用所需的策略对其进行配置。如果您选择使用 AWS Chatbot 客户端作为目标，则必须先在 Ch AWS atbot 中创建该客户端。

如果您想扩大通知的覆盖范围，可以手动配置通知和 AWS 聊天机器人之间的集成，以便将通知发送到 Amazon Chime 聊天室。然后，您可以选择为该 AWS 聊天机器人客户端配置的 Amazon SNS 主题作为通知规则的目标。有关更多信息，请参阅 [将通知与 AWS Chatbot 和 Amazon Chime 集成](notifications-chatbot.md#notifications-chatbot-chime)。

您可以使用开发者工具控制台或 AWS CLI 来管理通知目标。[您可以使用控制台或创建和配置 Amazon SNS 主题和 Chatbot 客户端作为 AWS 目标。 AWS CLI](concepts.md#targets)您还可以在您配置为目标的 Amazon SNS 主题与 Chat AWS bot 之间配置集成。这使您可以将通知发送到 Amazon Chime 聊天室。有关更多信息，请参阅 [配置通知和 AWS Chatbot 之间的集成](notifications-chatbot.md)。

**Topics**
+ [创建或配置通知规则目标](notification-target-create.md)
+ [查看通知规则目标](notification-target-view.md)
+ [添加或删除通知规则的目标](notification-target-change-rule.md)
+ [删除通知规则目标](notification-target-delete.md)

# 创建或配置通知规则目标
<a name="notification-target-create"></a>

通知规则目标是为 Slack 或 Microsoft Teams 频道配置的亚马逊 SNS 主题或 AWS 聊天机器人客户端。

必须先创建 AWS Chatbot 客户端，然后才能选择客户作为目标。当您选择 AWS 聊天机器人客户端作为通知规则的目标时，系统会为该 AWS 聊天机器人客户端配置一个 Amazon SNS 主题，其中包含将通知发送到 Slack 或 Microsoft Teams 频道所需的所有策略。您不必为 AWS Chatbot 客户端配置任何现有 Amazon SNS 主题。

在创建通知规则时，您可以在开发工具控制台中创建 Amazon SNS 通知规则目标。将为您应用允许将通知发送到该主题的策略。这是为通知规则创建目标的最简单方法。有关更多信息，请参阅 [创建通知规则](notification-rule-create.md)。

如果您使用现有 Amazon SNS 主题，则必须使用允许资源向该主题发送通知的访问策略来配置该主题。有关示例，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)。

**注意**  
如果要使用现有 Amazon SNS 主题而不是创建新主题，请在 **Targets (目标)** 中选择其 ARN。请确保主题具有适当的访问策略，并且订阅者列表仅包含允许查看有关资源的信息的用户。如果 Amazon SNS 主题是在 2019 年 11 月 5 日之前用于 CodeCommit 通知的主题，则该主题将包含一项允许 CodeCommit 向其发布的政策，该策略包含的权限与通知所需的 AWS CodeStar 权限不同。建议不使用这些主题。如果要使用为该体验创建的策略，则除了已有的 AWS CodeStar 通知策略外，还必须添加所需的通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。

如果您想扩大通知的覆盖范围，可以手动配置通知和 AWS 聊天机器人之间的集成，以便将通知发送到 Amazon Chime 聊天室。有关更多信息，请参阅[Targets](concepts.md#targets)和[将通知与 AWS Chatbot 和 Amazon Chime 集成](notifications-chatbot.md#notifications-chatbot-chime)。<a name="notification-target-create-console"></a>

# 配置现有 Amazon SNS 主题以用作通知规则目标（控制台）
<a name="notification-target-create-console"></a>

1. [登录 AWS 管理控制台 并在 v3/home 上打开亚马逊 SNS 控制台。https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home)

1. 在导航栏中，选择**主题**。选择主题，然后选择 **Edit (编辑)**。

1. 展开 **Access policy (访问策略)**，然后选择 **Advanced (高级)**。

1. 在 JSON 编辑器中，向策略中添加以下语句。包括主题 ARN、 AWS 区域、 AWS 账户 ID 和主题名称。

   ```
   	{
         "Sid": "AWSCodeStarNotifications_publish",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "codestar-notifications.amazonaws.com"
           ]
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules"
       }
   ```

   该策略语句应与以下内容类似。

   ```
   {
     "Version": "2008-10-17",		 	 	 
     "Id": "__default_policy_ID",
     "Statement": [
       {
         "Sid": "__default_statement_ID",
         "Effect": "Allow",
         "Principal": {
           "AWS": "*"
         },
         "Action": [
           "SNS:GetTopicAttributes",
           "SNS:SetTopicAttributes",
           "SNS:AddPermission",
           "SNS:RemovePermission",
           "SNS:DeleteTopic",
           "SNS:Subscribe",
           "SNS:ListSubscriptionsByTopic",
           "SNS:Publish"
         ],
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules",
         "Condition": {
           "StringEquals": {
             "AWS:SourceOwner": "123456789012"
           }
         }
       },
   	{
         "Sid": "AWSCodeStarNotifications_publish",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "codestar-notifications.amazonaws.com"
           ]
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules"
       }
     ]
   }
   ```

1. 选择**保存更改**。

1. 在 **Subscriptions (订阅)** 中，查看主题订阅者的列表。添加、编辑或删除适用于此通知规则目标的订阅者。确保订阅者列表仅包含那些被允许查看有关资源的信息的用户。有关更多信息，请参阅 [了解通知内容和安全性](security.md#security-notifications)。

# 使用 Slack 创建用作目标的 AWS Chatbot 客户端


1. 按照《AWS Chatbot 管理员指南》**中的[设置 AWS Chatbot 与 Slack 结合使用](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#slack-client-setup)中的说明进行操作。执行此操作时，请考虑以下选项以实现与通知的最佳集成：
   + 创建 IAM 角色时，请考虑选择一个角色名称，以便轻松识别此角色的用途（例如 **AWSCodeStarNotifications-Chatbot-Slack-Role**）。这可以帮助您确定未来角色的用途。
   + 在 **SNS 主题**中，您不必选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为[目标](concepts.md#targets)时，将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。

1. 完成客户端创建过程。然后，您可以在创建通知规则时选择此客户端作为目标。有关更多信息，请参阅 [创建通知规则](notification-rule-create.md)。
**注意**  
在为您配置了 Amazon SNS 主题后，请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Slack 发送通知。

# 使用 Microsoft Teams 创建 AWS 聊天机器人客户端，将其用作目标


1. 按照《AWS Chatbot 管理员指南》**中的[设置 AWS Chatbot 与 Microsoft Teams 结合使用](https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup)中的说明进行操作。执行此操作时，请考虑以下选项以实现与通知的最佳集成：
   + 创建 IAM 角色时，请考虑选择一个角色名称，以便轻松识别此角色的用途（例如 **AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role**）。这可以帮助您确定未来角色的用途。
   + 在 **SNS 主题**中，您不必选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为[目标](concepts.md#targets)时，将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。

1. 完成客户端创建过程。然后，您可以在创建通知规则时选择此客户端作为目标。有关更多信息，请参阅 [创建通知规则](notification-rule-create.md)。
**注意**  
在为您配置了 Amazon SNS 主题后，请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Microsoft Teams 发送通知。

# 查看通知规则目标
<a name="notification-target-view"></a>

您可以使用开发者工具控制台（而不是 Amazon SNS 控制台）来查看某个 AWS 地区所有资源的所有通知规则目标。您也可以查看通知规则目标的详细信息。<a name="notification-target-view-console"></a>

# 查看通知规则目标（控制台）
<a name="notification-target-view-console"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 在导航栏中，展开**设置**，然后选择**通知规则**。

1. 在**通知规则目标**中，在您当前登录的 AWS 区域 位置 AWS 账户 中查看通知规则使用的目标列表。使用选择器更改 AWS 区域。如果目标状态显示为 **Unreachable (无法访问)**，您可能需要进行调查。有关更多信息，请参阅 [问题排查](troubleshooting.md)。<a name="notification-target-view-list-cli"></a>

# 查看通知规则目标的列表 (AWS CLI)
<a name="notification-target-view-list-cli"></a>

1. 在终端或命令提示符处，运行 **list-targets** 命令可查看指定的 AWS 区域的所有通知规则目标的列表：

   ```
   aws codestar-notifications list-targets --region us-east-2
   ```

1. 如果成功，此命令将返回该 AWS 区域中每条通知规则的 ID 和 ARN，如下所示：

   ```
   {
       "Targets": [
           {
               "TargetAddress": "arn:aws:sns:us-east-2:123456789012:MySNSTopicForNotificationRules",
               "TargetType": "SNS",
               "TargetStatus": "ACTIVE"
           },
           {
               "TargetAddress": "arn:aws:chatbot::123456789012:chat-configuration/slack-channel/MySlackChannelClientForMyDevTeam",
               "TargetStatus": "ACTIVE", 
               "TargetType": "AWSChatbotSlack"
           },
           {
               "TargetAddress": "arn:aws:sns:us-east-2:123456789012:MySNSTopicForNotificationsAboutMyDemoRepo",
               "TargetType": "SNS",
               "TargetStatus": "ACTIVE"
           }
       ]
   }
   ```

# 添加或删除通知规则的目标
<a name="notification-target-change-rule"></a>

您可以编辑通知规则以更改其发送通知的一个或多个目标。您可以使用开发者工具控制台或或 AWS CLI 来更改通知规则的目标。<a name="notification-target-change-rule-console"></a>

# 更改通知规则的目标（控制台）
<a name="notification-target-change-rule-console"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 在导航栏中，展开**设置**，然后选择**通知规则**。

1. 在**通知规则**中，查看在您当前登录的 AWS 账户中为您的资源配置 AWS 区域 的规则列表。使用选择器更改 AWS 区域。

1. 选择规则，然后选择 **Edit (编辑)**。

1. 在**目标**中，执行下列操作之一：
   + 要添加其他目标，请选择**添加目标**，然后从列表中选择要添加的亚马逊 SNS 主题或聊天机器人 AWS (Slack) 或 AWS 聊天机器人 (Microsoft Teams) 客户端。您还可以选择 **Create SNS topic (创建 SNS 主题)** 来创建一个主题并将该主题添加为目标。一个通知规则最多可具有 10 个目标。
   + 要删除目标，请选择要删除的目标旁边的 **Remove target (删除目标)**。

1. 选择**提交**。<a name="notification-target-change-rule-add-cli"></a>

# 向通知规则添加目标 (AWS CLI)
<a name="notification-target-change-rule-add-cli"></a>

1. 在终端或命令提示符处，运行 **subscribe** 命令以添加目标。例如，以下命令添加 Amazon SNS 主题作为通知规则的目标。

   ```
   aws codestar-notifications subscribe --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE --target TargetType=SNS,TargetAddress=arn:aws:sns:us-east-1:123456789012:MyNotificationTopic
   ```

1. 如果成功，该命令将返回更新的通知规则的 ARN，类似于以下内容。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
   }
   ```<a name="notification-target-change-rule-remove-cli"></a>

# 从通知规则中删除目标 (AWS CLI)
<a name="notification-target-change-rule-remove-cli"></a>

1. 在终端或命令提示符处，运行 **unsubscribe** 命令以删除目标。例如，以下命令删除作为通知规则目标的 Amazon SNS 主题。

   ```
   aws codestar-notifications unsubscribe --arn arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE --target TargetType=SNS,TargetAddress=arn:aws:sns:us-east-1:123456789012:MyNotificationTopic
   ```

1. 如果成功，该命令将返回更新的通知规则的 ARN 以及有关删除的目标的信息，类似于以下内容。

   ```
   {
       "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"
       "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic"
   }
   ```

## 另请参阅
<a name="notification-target-change-also"></a>
+ [编辑通知规则](notification-rule-edit.md)
+ [为通知规则启用或禁用通知](notification-rule-enable-disable.md)

# 删除通知规则目标
<a name="notification-target-delete"></a>

如果不再需要某个目标，您可以删除该目标。一个资源只能配置 10 个通知规则目标，因此删除不需要的目标可以帮助为您可能想要添加到该通知规则的其他目标创造空间。

**注意**  
删除通知规则目标会从所有配置为将其用作目标的通知规则中删除该目标，但不会删除目标本身。<a name="notification-target-delete-console"></a>

# 删除通知规则目标（控制台）
<a name="notification-target-delete-console"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 在导航栏中，展开**设置**，然后选择**通知规则**。

1. 在**通知规则目标**中，查看在您当前登录的 AWS 账户中为您的资源配置 AWS 区域 的目标列表。使用选择器更改 AWS 区域。

1. 选择该通知规则目标，然后选择 **Delete (删除)**。

1. 键入 **delete**，然后选择**删除**。<a name="notification-target-delete-cli"></a>

# 删除通知规则目标 (AWS CLI)
<a name="notification-target-delete-cli"></a>

1. 在终端或命令提示符处，运行 **delete-target** 命令，并指定目标的 ARN。例如，以下命令删除使用 Amazon SNS 主题的目标。

   ```
   aws codestar-notifications delete-target --target-address arn:aws:sns:us-east-1:123456789012:MyNotificationTopic
   ```

1. 如果成功，该命令不返回任何内容。如果不成功，该命令会返回错误。最常见的错误是该主题是一个或多个通知规则的目标。

   ```
   An error occurred (ValidationException) when calling the DeleteTarget operation: Unsubscribe target before deleting.
   ```

   您可以使用 `--force-unsubscribe-all` 参数从配置为使用它作为目标的所有通知规则中移除此目标，然后删除目标。

   ```
   aws codestar-notifications delete-target --target-address arn:aws:sns:us-east-1:123456789012:MyNotificationTopic --force-unsubscribe-all
   ```

# 配置通知和 AWS Chatbot 之间的集成
<a name="notifications-chatbot"></a>

AWS Chatbot 是一项 AWS 服务，它使软件开发团队能够使用 Amazon Chime 聊天室、Slack 频道和 Microsoft Team 频道来监控和响应中的运营事件。 DevOps AWS 云您可以配置通知规则目标和 AWS 聊天机器人之间的集成，以便有关事件的通知显示在您选择的 Amazon Chime 会议室、Slack 频道或 Microsoft Teams 频道中。有关更多信息，请参阅 [AWS Chatbot 文档](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html)。

在配置与 AWS Chatbot 的集成之前，必须配置通知规则和规则目标。有关更多信息，请参阅[设置](setting-up.md)和[创建通知规则](notification-rule-create.md)。您还必须在 AWS Chatbot 中配置 Slack 通道、Microsoft Teams 通道或 Amazon Chime 聊天室。有关更多信息，请参阅这些服务的文档。

**Topics**
+ [为 Slack 频道配置 AWS 聊天机器人客户端](#notifications-chatbot-configure-client)
+ [为 Microsoft Teams 频道配置 AWS 聊天机器人客户端](#notifications-chatbot-configure-client-ts)
+ [为 Slack 或 Amazon Chime 手动配置客户端](#notifications-chatbot-configure-manual-client)

## 为 Slack 频道配置 AWS 聊天机器人客户端
<a name="notifications-chatbot-configure-client"></a>

您可以创建使用 AWS Chatbot 客户端作为目标的通知规则。如果您为 Slack 通道创建客户端，则可以在工作流中直接使用此客户端作为创建通知规则的目标。这是设置在 Slack 通道中显示的通知的最简单方法。

## 使用 Slack 创建用作目标的 AWS Chatbot 客户端


1. 按照《AWS Chatbot 管理员指南》**中的[设置 AWS Chatbot 与 Slack 结合使用](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#slack-client-setup)中的说明进行操作。执行此操作时，请考虑以下选项以实现与通知的最佳集成：
   + 创建 IAM 角色时，请考虑选择一个角色名称，以便轻松识别此角色的用途（例如 **AWSCodeStarNotifications-Chatbot-Slack-Role**）。这可以帮助您确定未来角色的用途。
   + 在 **SNS 主题**中，您不必选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为[目标](concepts.md#targets)时，将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。

1. 完成客户端创建过程。然后，您可以在创建通知规则时选择此客户端作为目标。有关更多信息，请参阅 [创建通知规则](notification-rule-create.md)。
**注意**  
在为您配置了 Amazon SNS 主题后，请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Slack 发送通知。

## 为 Microsoft Teams 频道配置 AWS 聊天机器人客户端
<a name="notifications-chatbot-configure-client-ts"></a>

您可以创建使用 AWS Chatbot 客户端作为目标的通知规则。如果您为 Microsoft Teams 通道创建客户端，则可以在工作流中直接使用此客户端作为创建通知规则的目标。这是设置在 Microsoft Teams 通道中显示的通知的最简单方法。

## 使用 Microsoft Teams 创建 AWS 聊天机器人客户端，将其用作目标


1. 按照《AWS Chatbot 管理员指南》**中的[设置 AWS Chatbot 与 Microsoft Teams 结合使用](https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup)中的说明进行操作。执行此操作时，请考虑以下选项以实现与通知的最佳集成：
   + 创建 IAM 角色时，请考虑选择一个角色名称，以便轻松识别此角色的用途（例如 **AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role**）。这可以帮助您确定未来角色的用途。
   + 在 **SNS 主题**中，您不必选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为[目标](concepts.md#targets)时，将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。

1. 完成客户端创建过程。然后，您可以在创建通知规则时选择此客户端作为目标。有关更多信息，请参阅 [创建通知规则](notification-rule-create.md)。
**注意**  
在为您配置了 Amazon SNS 主题后，请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Microsoft Teams 发送通知。

## 为 Slack 或 Amazon Chime 手动配置客户端
<a name="notifications-chatbot-configure-manual-client"></a>

您可以选择在通知和 Slack 或 Amazon Chime 之间直接创建集成。这是可用于配置 Amazon Chime 聊天室通知的唯一方法。手动配置此集成时，您将创建一个使用您之前配置为通知规则目标的 Amazon SNS 主题的 AWS Chatbot 客户端。<a name="notification-rule-chatbot-console-manual"></a>

## 手动将通知与 AWS Chatbot 和 slack 集成
<a name="notification-rule-chatbot-console-manual"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 选择 **Settings (设置)**，然后选择 **Notification rules (通知规则)**。

1. 在 **Notification rule targets (通知规则目标)** 中，查找并复制目标。
**注意**  
您可以配置多个通知规则，以将同一 Amazon SNS 主题用作其目标。这可以帮助您整合消息传递，但如果订阅列表旨在用于一个通知规则或资源，则可能产生意想不到的后果。

1. 打开 AWS Chatbot 控制台，网址为。[https://console.aws.amazon.com/chatbot/](https://console.aws.amazon.com/chatbot/)

1. 选择 **Configure new client (配置新客户端)**，然后选择 **Slack**。

1. 选择**配置**。

1. 登录您的 Slack 工作区。

1. 当系统提示您确认选择时，请选择 **Allow (允许)**。

1. 选择 **Configure new channel (配置新通道)**。

1. 在 **Configuration details (配置详细信息)** 的 **Configuration name (配置名称)** 中，输入客户端的名称。这是在您创建通知规则时，将显示在对 **AWS Chatbot (Slack)** 目标类型可用的目标列表中的名称。

1. 在 **Configure Slack Channel**（配置 Slack 通道）的 **Channel type**（通道类型）中，根据要集成的通道类型选择 **Public**（公有）或 **Private**（私有）。
   + 在 **Public channel (公有通道)** 中，从列表中选择 Slack 通道的名称。
   + 在 **Private channel ID (私有通道 ID)** 中，输入通道代码或 URL。

1. 在 **IAM permissions (IAM 权限)** 的 **Role (角色)** 中，选择 **Create an IAM role using a template (使用模板创建 IAM 角色)**。在 **Policy templates (策略模板)** 中，选择 **Notification permissions (通知权限)**。在 **Role name (角色名称)** 中，输入此角色的名称（例如 **AWSCodeStarNotifications-Chatbot-Slack-Role**）。在 **Policy templates (策略模板)** 中，选择 **Notification permissions (通知权限)**。

1. 在 **SNS 主题**的 **SNS 区域**中，选择您创建通知规则目标 AWS 区域 的位置。在 **SNS topics (SNS 主题)** 中，选择您配置为通知规则目标的 Amazon SNS 主题的名称。
**注意**  
如果您将创建使用此客户端作为目标的通知规则，则无需执行此步骤。

1. 选择**配置**。
**注意**  
如果您配置了与私有通道的集成，则必须先将 AWS Chatbot 邀请到通道，然后才能在该通道中看到通知。有关更多信息，请参阅 [AWS Chatbot 文档](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html)。

1. （可选）要测试集成，请在与通知规则（配置为使用 Amazon SNS 主题作为其目标）的事件类型匹配的资源中进行更改。例如，如果将通知规则配置为在对拉取请求进行注释时发送通知，请对拉取请求进行注释，然后在浏览器中观看 Slack 通道以查看通知何时出现。<a name="notifications-chatbot-chime"></a>

## 将通知与 AWS Chatbot 和 Amazon Chime 集成
<a name="notifications-chatbot-chime"></a>

1. 在[https://console.aws.amazon.com/codesuite/设置/ AWS](https://console.aws.amazon.com/codesuite/settings/notifications/) 通知中打开开发者工具控制台。

1. 选择 **Settings (设置)**，然后选择 **Notification rules (通知规则)**。

1. 在 **Notification rule targets (通知规则目标)** 中，查找并复制目标。
**注意**  
您可以配置多个通知规则，以将同一 Amazon SNS 主题用作其目标。这可以帮助您整合消息传递，但如果订阅列表旨在用于一个通知规则或资源，则可能产生意想不到的后果。

1. 在 Amazon Chime 中，打开要配置以进行集成的聊天室。

1. 选择右上角的齿轮图标，然后选择 **Manage webhooks (管理 Webhook)**。

1. 在 **Manage webhooks (管理 Webhook)** 对话框中，选择 **New (新建)**，输入 Webhook 的名称，然后选择 **Create (创建)**。

1. 确认 Webhook 已出现，然后选择 **Copy webhook URL (复制 Webhook URL)**。

1. 打开 AWS Chatbot 控制台，网址为。[https://console.aws.amazon.com/chatbot/](https://console.aws.amazon.com/chatbot/)

1. 选择 **Configure new client (配置新客户端)**，然后选择 **Amazon Chime**。

1. 在 **Configuration details (配置详细信息)** 的 **Configuration name (配置名称)** 中，输入客户端的名称。

1. 在 **Webhook URL** 中，粘贴该 URL。在 **Webhook description (Webhook 描述)** 中，提供可选的描述。

1. 在 **IAM permissions (IAM 权限)** 的 **Role (角色)** 中，选择 **Create an IAM role using a template (使用模板创建 IAM 角色)**。在 **Policy templates (策略模板)** 中，选择 **Notification permissions (通知权限)**。在 **Role name (角色名称)** 中，输入此角色的名称（例如 **AWSCodeStarNotifications-Chatbot-Chime-Role**）。

1. 在 **SNS 主题**的 **SNS 区域**中，选择您创建通知规则目标 AWS 区域 的位置。在 **SNS topics (SNS 主题)** 中，选择您配置为通知规则目标的 Amazon SNS 主题的名称。

1. 选择**配置**。

1. （可选）要测试集成，请在与通知规则（配置为使用 Amazon SNS 主题作为其目标）的事件类型匹配的资源中进行更改。例如，如果将通知规则配置为在对拉取请求进行注释时发送通知，请对拉取请求进行注释，然后观看 Amazon Chime 聊天室以查看通知何时出现。

# 使用记录 AWS CodeStar 通知 API 调用 AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS CodeStar 通知与 AWS CloudTrail一项服务集成，该服务提供用户、角色或 AWS 服务所执行操作的记录。 CloudTrail 将通知的所有 API 调用捕获为事件。捕获的调用包括来自开发者工具控制台的调用和对 AWS CodeStar 通知 API 操作的代码调用。如果您创建跟踪，则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶，包括用于通知的事件。如果您未配置跟踪，您仍然可以在 CloudTrail 控制台的 “事件**历史记录” 中查看最新的事件**。使用收集的信息 CloudTrail，您可以确定向 AWS CodeStar 通知发出的请求、发出请求的 IP 地址、谁发出了请求、何时发出请求以及其他详细信息。

有关更多信息，请参阅 [ 用户指南。AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)

## AWS CodeStar 中的通知信息 CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail 在您创建账户 AWS 账户 时已在您的账户上启用。在 “ AWS CodeStar 通知” 中发生活动时，该活动会与其他 AWS 服务 CloudTrail 事件一起记录在**事件历史**记录中。您可以在中查看、搜索和下载最近发生的事件 AWS 账户。有关更多信息，请参阅[使用事件历史查看 CloudTrail 事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您的事件 AWS 账户，包括 AWS CodeStar 通知事件，请创建跟踪。*跟踪*允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。预设情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有 AWS 区域。跟踪记录 AWS 分区中所有区域的事件，并将日志文件传送到您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息，请参阅下列内容：
+ [创建跟踪记录概述](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [接收来自多个地区的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收来自多个账户的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

所有 AWS CodeStar 通知操作均由记录 CloudTrail 并记录在*[AWS CodeStar Notifications API Reference](https://docs.aws.amazon.com/codestar-notifications/latest/APIReference/)*。例如，对 `CreateNotificationRule`、`Subscribe` 和 `ListEventTypes` 操作的调用会在 CloudTrail 日志文件中生成条目。

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容：
+ 请求是使用根证书还是 AWS Identity and Access Management (IAM) 用户凭证发出。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务发出。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 了解日志文件条目
<a name="understanding-service-name-entries"></a>

跟踪是一种配置，允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求，包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定的顺序出现。

以下示例显示了一个 CloudTrail 日志条目，该条目演示了通知规则的创建，包括`CreateNotificationRule`和`Subscribe`操作。

**注意**  
通知日志文件条目中的一些事件可能来自服务相关角色 AWSServiceRoleForCodeStarNotifications。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type":"IAMUser",
        "principalId":"AIDACKCEVSQ6C2EXAMPLE",
        "arn":"arn:aws:iam::123456789012:user/Mary_Major",
        "accountId":"123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName":"Mary_Major"
    },
    "eventTime": "2019-10-07T21:34:41Z",
    "eventSource": "events.amazonaws.com",
    "eventName": "CreateNotificationRule",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "codestar-notifications.amazonaws.com",
    "userAgent": "codestar-notifications.amazonaws.com",
    "requestParameters": {
        "description": "This rule is used to route CodeBuild, CodeCommit, CodePipeline, and other Developer Tools notifications to AWS CodeStar Notifications",
        "name": "awscodestarnotifications-rule",
        "eventPattern": "{\"source\":[\"aws.codebuild\",\"aws.codecommit\",\"aws.codepipeline\"]}"
    },
    "responseElements": {
        "ruleArn": "arn:aws:events:us-east-1:123456789012:rule/awscodestarnotifications-rule"
    },
    "requestID": "ff1f309a-EXAMPLE",
    "eventID": "93c82b07-EXAMPLE",
    "eventType": "AwsApiCall",
    "apiVersion": "2015-10-07",
    "recipientAccountId": "123456789012"
}
```

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type":"IAMUser",
        "principalId":"AIDACKCEVSQ6C2EXAMPLE",
        "arn":"arn:aws:iam::123456789012:user/Mary_Major",
        "accountId":"123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName":"Mary_Major"
    },
    "eventTime": "2019-10-07T21:34:41Z",
    "eventSource": "events.amazonaws.com",
    "eventName": "Subscribe",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "codestar-notifications.amazonaws.com",
    "userAgent": "codestar-notifications.amazonaws.com",
    "requestParameters": {
        "targets": [
            {
                "arn": "arn:aws:codestar-notifications:us-east-1:::",
                "id": "codestar-notifications-events-target"
            }
        ],
        "rule": "awscodestarnotifications-rule"
    },
    "responseElements": {
        "failedEntryCount": 0,
        "failedEntries": []
    },
    "requestID": "9466cbda-EXAMPLE",
    "eventID": "2f79fdad-EXAMPLE",
    "eventType": "AwsApiCall",
    "apiVersion": "2015-10-07",
    "recipientAccountId": "123456789012"
}
```

# 问题排查
<a name="troubleshooting"></a>

以下信息可帮助您解决有关通知的常见问题。

**Topics**
+ [当我尝试在资源上创建通知规则时出现权限错误](#troubleshooting-permissions-error)
+ [我无法查看通知规则](#troubleshooting-cannot-view)
+ [我无法创建通知规则](#troubleshooting-cannot-create-rule)
+ [我收到我无法访问的资源的通知](#troubleshooting-resource-no-access)
+ [我未收到 Amazon SNS 通知](#troubleshooting-no-SNS)
+ [我接收重复的事件通知](#troubleshooting-duplicate-notifications)
+ [我想了解为什么通知目标状态显示为“Unreachable (无法到达)”](#troubleshooting-resource-unavailable)
+ [我想增大通知和资源的配额](#troubleshooting-limit-increase)

## 当我尝试在资源上创建通知规则时出现权限错误
<a name="troubleshooting-permissions-error"></a>

请确保您有足够的权限。有关更多信息，请参阅 [基于身份的策略示例](security_iam_id-based-policy-examples.md)。

## 我无法查看通知规则
<a name="troubleshooting-cannot-view"></a>

**问题：**当您在开发工具控制台中选择 **Settings (设置)** 下的 **Notifications (通知)**时，您会看到一个权限错误。

**可能的修复措施：**您可能没有查看通知所需的权限。虽然 AWS 开发者工具服务的大多数托管策略（例如 CodeCommit和 CodePipeline）都包含通知权限，但目前不支持通知的服务不包括查看通知的权限。或者，您可能会将自定义策略应用于您的 IAM 用户或角色，该策略不允许您查看通知。有关更多信息，请参阅 [基于身份的策略示例](security_iam_id-based-policy-examples.md)。

## 我无法创建通知规则
<a name="troubleshooting-cannot-create-rule"></a>

您可能没有创建通知规则所需的权限。有关更多信息，请参阅 [基于身份的策略示例](security_iam_id-based-policy-examples.md)。

## 我收到我无法访问的资源的通知
<a name="troubleshooting-resource-no-access"></a>

在创建通知规则并添加目标时，通知功能不会验证收件人是否有权访问资源。您可能会收到有关您无法访问的资源的通知。如果您无法删除自己，则要求从目标的订阅列表中予以删除。

## 我未收到 Amazon SNS 通知
<a name="troubleshooting-no-SNS"></a>

 要排查 Amazon SNS 主题的问题，请检查以下内容：
+ 确保 Amazon SNS 主题是在与通知规则相同的 AWS 地区创建的。
+ 确保您的电子邮件别名已订阅到正确的主题，并且您已确认订阅。有关更多信息，请参阅[将终端节点订阅到 Amazon SNS 主题](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-subscribe-endpoint-to-topic.html)。
+ 确认已编辑主题策略以允许 AWS CodeStar 通知向该主题推送通知。该主题策略应包含类似于以下内容的声明：

  ```
  {
      "Sid": "AWSCodeStarNotifications_publish",
      "Effect": "Allow",
      "Principal": {
          "Service": [
              "codestar-notifications.amazonaws.com"
          ]
      },
      "Action": "SNS:Publish",
      "Resource": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopicName",
      "Condition": {
          "StringEquals": {
              "aws:SourceAccount": "123456789012"
          }
      }
  }
  ```

  有关更多信息，请参阅 [配置通知的 Amazon SNS 主题](set-up-sns.md)。

## 我接收重复的事件通知
<a name="troubleshooting-duplicate-notifications"></a>

以下是收到多个通知的最常见原因：
+ 已为资源配置多个包含同一事件类型的通知规则，并且已为您订阅作为这些规则的目标的 Amazon SNS 主题。要解决此问题，请取消订阅其中一项主题，或者编辑通知规则以删除重复项。
+ 一个或多个通知规则目标已与 AWS Chatbot 集成，你将在电子邮件收件箱和 Slack 频道、Microsoft Teams 频道或 Amazon Chime 聊天室中收到通知。要解决此问题，请考虑从作为该规则的目标的 Amazon SNS 主题中取消订阅电子邮件地址，并使用 Slack 通道、Microsoft Teams 通道或 Amazon Chime 聊天室查看通知。

## 我想了解为什么通知目标状态显示为“Unreachable (无法到达)”
<a name="troubleshooting-resource-unavailable"></a>

目标具有两种可能的状态：***Active (活动)*** 状态和 ***Unreachable (无法访问)***。**Unreachable (无法访问)** 表示已向目标发送通知，但传递不成功。通知将继续发送到该目标，如果成功，状态将重置为 **Active (活动)**。

由于以下原因之一，通知规则的目标可能变得不可用：
+ 该资源（Amazon SNS 主题或 Chatbo AWS t 客户端）已被删除。为通知规则选择另一个目标。
+ Amazon SNS 主题已加密，要么缺少加密主题所需的策略，要么 AWS KMS 密钥已被删除。有关更多信息，请参阅 [配置通知的 Amazon SNS 主题](set-up-sns.md)。
+ Amazon SNS 主题没有通知所需的策略。除非 Amazon SNS 主题具有策略，否则无法向其发送通知。有关更多信息，请参阅 [配置通知的 Amazon SNS 主题](set-up-sns.md)。
+ 目标支持服务（Amazon SNS 或 Chatbo AWS t）可能遇到了问题。

## 我想增大通知和资源的配额
<a name="troubleshooting-limit-increase"></a>

目前，您无法更改任何配额。请参阅[通知的配额](limits.md)。

# 通知的配额
<a name="limits"></a>

下表列出了开发工具控制台中通知的配额（也称为*限制*)。有关可以更改的限制的信息，请参阅 [AWS 服务限额](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。


| 资源 | 默认限制 | 
| --- | --- | 
| 一个 AWS 账户中通知规则的最大数量 | 1000 | 
| 通知规则的最大目标数 | 10  | 
| 资源的最大通知规则数 | 10  | 

# 什么是连接？
<a name="welcome-connections"></a>

您可以使用开发者工具控制台中的*连接*功能将诸如外部代码存储库之类 AWS CodePipeline 的 AWS 资源连接起来。此功能有自己的 API，即 [AWS CodeConnectionsAPI 参考](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)。每个连接都是您可以提供给 AWS 服务以连接第三方存储库（例如 Bitbucket）的资源。例如，您可以在中添加连接， CodePipeline 以便在对第三方代码存储库进行代码更改时，它会触发您的管道。每个连接都被命名并与用于引用连接的唯一 Amazon Resource Name (ARN) 相关联。

**重要**  
服务名称 AWS C CodeStar onnections 已重命名。仍然支持使用以前的命名空间 codestar-connections 创建的资源。

## 我可以使用连接执行哪些操作？
<a name="welcome-connections-what-can-I-do"></a>

您可以使用连接将第三方提供商资源与开发人员工具中的 AWS 资源集成，包括：
+ 连接到第三方提供商（例如 Bitbucket），并使用第三方连接作为与您的 AWS 资源的源集成，例如。 CodePipeline
+ 在第三方提供商的 CodeBuild 构建项目、 CodeDeploy 应用程序和管道中，统一管理跨资源 CodePipeline 对连接的访问权限。
+ 在堆栈模板中使用连接 ARN 来 CodeBuild 构建项目、 CodeDeploy应用程序和管道 CodePipeline，无需引用存储的机密或参数。

# 我可以为哪些第三方提供商创建连接？
<a name="welcome-connections-supported-providers"></a>

Connections 可以将您的 AWS 资源与以下第三方存储库相关联：
+ 天蓝色 DevOps
+ Bitbucket Cloud
+ GitHub.com
+ GitHub 企业云
**注意**  
当前，不支持 GitHub 企业云的自定义域。
+ GitHub 企业服务器
+ GitLab.com
**重要**  
对连接的支持 GitLab 包括 15.x 版及更高版本。
+ GitLab 自行管理安装（适用于企业版或社区版）

有关连接工作流的概述，请参阅[创建或更新连接的工作流](welcome-connections-workflow.md)。

为云提供商类型（例如）创建连接的步骤与为 GitHub已安装的提供商类型（例如 En GitHub terprise Server）创建连接的步骤不同。有关按提供程序类型创建连接的概要步骤，请参阅[使用连接](connections.md)。

**注意**  
要在欧洲（米兰）使用连接 AWS 区域，您必须：  
安装区域特定的应用程序
启用该区域
这一特定于区域的应用程序支持欧洲地区（米兰）区域中的连接。该应用程序在第三方提供商网站上发布，与支持其他区域的连接的现有应用程序是分开的。安装此应用程序，即表示您授权第三方提供商仅与该区域的服务共享您的数据，并且您可以随时通过卸载该应用程序来撤消权限。  
除非您启用区域，否则该服务不会处理或存储您的数据。启用此区域，即表示您授予我们的服务处理和存储您的数据的权限。  
即使未启用该区域，如果区域特定的应用程序仍保持安装状态，第三方提供商也仍可以与我们的服务共享您的数据，因此，请务必在禁用该区域后立即卸载该应用程序。有关更多信息，请参阅[启用区域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。

## 什么与连接 AWS 服务 集成？
<a name="welcome-connections-integrations"></a>

您可以使用连接将您的第三方存储库与其他 AWS 服务集成。要查看连接的服务集成，请参阅[产品和服务与 AWS CodeConnections](integrations-connections.md)。

# 连接是如何工作的？
<a name="welcome-connections-how-it-works"></a>

在创建连接之前，您必须首先在您的第三方账户上安装 AWS 身份验证应用程序或提供对该应用程序的访问。安装连接后，可以更新它以使用此安装。创建连接时，您可以提供对第三方账户中 AWS 资源的访问。这允许连接代表您的 AWS 资源访问第三方账户中的内容，例如源存储库。然后，您可以与其他人共享该连接 AWS 服务 ，以便在资源之间提供安全的 OAuth 连接。

基于云的连接配置如下，并标明了用户帐户或组织之间的差异。
+ **用户帐户：**每个基于云的第三方用户帐户都安装了连接器应用程序。可以将多个连接与应用程序安装相关联。
+ **组织：**每个基于云的第三方组织都安装了连接器应用程序。对于组织中的连接，您与组织中每个组织帐户的连接映射为 1:1。不能将多个连接与应用程序安装相关联。有关组织如何使用连接的更多详细信息，请参阅[如何 AWS CodeConnections 与组织建立联系](welcome-connections-how-it-works-github-organizations.md)。

下图显示了基于云的连接如何与用户帐户或组织配合使用。

![\[该图显示了基于云的提供商的应用程序安装与连接之间的关系。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-flow.png)


连接归创建 AWS 账户 它们的人所有。连接由包含连接 ID 的 ARN 标识。连接 ID 是无法更改或重新映射的 UUID。删除和重新建立连接会生成一个新的连接 ID，因此会产生一个新的连接 ARN。这意味着连接永远不会 ARNs 被重复使用。

新创建的连接处于 `Pending` 状态。需要第三方握手（OAuth 流程）过程才能完成连接的设置并使其从状态切换`Pending`到`Available`状态。完成后，可以将连接与 AWS 服务一起使用，例如 CodePipeline。`Available`

如果要创建与已安装的提供商类型（本地部署）的连接，例如 GitHub企业服务器或 GitLab 自行管理，则可以在连接中使用主机资源。

本地连接的配置如下，并标明了用户帐户或组织之间的差异。
+ **用户帐户：**每个本地第三方用户帐户都安装了连接器应用程序。本地提供商的多个连接可以与一台主机相关联。
+ **Organizations：**每个本地第三方组织都安装了连接器应用程序。对于组织中的本地连接，例如 Organizations for En GitHub terprise Server，您可以为组织中的每个连接创建一个新主机，并确保在网络字段（VPC IDs、子网和安全组 IDs）中为该主机输入相同的信息。 GitHub有关组织如何使用连接的更多详细信息，请参阅[如何 AWS CodeConnections 与组织建立联系](welcome-connections-how-it-works-github-organizations.md)。
+ **全部：**对于每个本地连接，每个 VPC 一次只能与一台主机关联。

在所有情况下，您都需要提供本地服务器的 URL。此外，如果服务器位于私有 VPC 内（即无法通过互联网访问），则需要提供 VPC 信息以及可选的 TLS 证书信息。这些配置 CodeConnections 允许与实例通信，并且由为此主机创建的所有连接共享。例如，对于单个 E GitHub nterprise Server 实例，您可以创建一个由主机表示的单个应用程序。然后，对于用户帐户配置，您可以为该主机创建多个连接，这些连接与您的应用程序安装相对应，如下图所示。否则，对于组织，您可以为该主机创建单个应用程序安装和连接。

下图显示了本地连接如何与用户帐户或组织配合使用。

![\[该图显示了本地提供商的应用程序安装与连接之间的关系。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-flow-host.png)


新创建的主机处于 `Pending` 状态。需要第三方注册流程才能完成主机的设置，并将其从 `Pending` 变为 `Available` 状态。完成此操作后，主机将为 `Available`，可用于连接到已安装的提供程序类型。

有关连接工作流的概述，请参阅 [创建或更新连接的工作流](welcome-connections-workflow.md)。有关已安装提供程序的主机创建工作流程的概述，请参阅[创建或更新主机的工作流程](welcome-hosts-workflow.md)。有关按提供程序类型创建连接的概要步骤，请参阅[使用连接](connections.md)。

# 如何 AWS CodeConnections 与组织建立联系
<a name="welcome-connections-how-it-works-github-organizations"></a>

对于拥有提供商的组织，例如 GitHub 组织，您不能将 GitHub 应用程序安装到多个 GitHub 组织中。通过使用 Github 连接器应用程序，连接与组织进行 1:1 的映射。E GitHub nterprise Server 中的 GitHub 每个组织都应使用独立的连接器应用程序，并且应该有与之关联的连接。

例如，要在同一台 GitHub 服务器上与多个组织合作，必须为每个组织创建单独的连接，并为这些组织安装单独的 GitHub 应用程序。但是，Github方面的目标账户可以是相同的。

# 创建或更新连接的工作流
<a name="welcome-connections-workflow"></a>

创建连接时，您还可以创建或使用现有的连接器应用程序安装来与第三方提供商进行身份验证握手。

连接可能为以下状态之一：
+ `Pending` - `pending` 连接是必须先完成（移动到 `available`）然后才能使用的连接。
+ `Available` - 您可以使用 `available` 连接或将其传递到账户中的其他资源和用户。
+ `Error` - 具有 `error` 状态的连接会自动重试。在变为 `available` 前此连接无法使用。

**工作流程：创建或更新连接，使用 CLI、SDK 或 AWS CloudFormation**

您可以使用 [CreateConnection](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_CreateConnection.html)API 通过 AWS Command Line Interface (AWS CLI)、SDK 或创建连接 CloudFormation。创建后，连接处于 `pending` 状态。您可以使用控制台的 **Set up pending connection (设置待处理的连接)** 选项完成该过程。控制台会提示您创建安装或使用现有安装进行连接。然后，您可以使用控制台完成握手，并选择控制台上的 **Complete connection (完成连接)** 将连接变为 `available` 状态。

**工作流：使用控制台创建或更新连接**

如果要创建与已安装的提供程序类型（例如 GitHub企业服务器）的连接，则需要先创建主机。如果要连接到云提供程序类型（如 Bitbucket），则跳过创建主机并继续创建连接。

要使用控制台创建或更新连接，您可以使用控制台上的 CodePipeline 编辑操作页面来选择您的第三方提供商。控制台会提示您创建安装或使用现有安装进行连接，然后使用控制台创建连接。控制台完成握手并自动将连接从 `pending` 设置为 `available` 状态。



![\[显示创建与第三方提供程序连接的工作流的图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/Connections-flowchart.png)


# 创建或更新主机的工作流程
<a name="welcome-hosts-workflow"></a>

在为已安装的提供商（本地部署）创建连接时，将使用主机资源。

**注意**  
对于使用 GitHub 企业服务器或 GitLab 自行管理的组织，您不会传递可用的主机。您要为组织中的每个连接创建一个新主机，并且必须确保在该主机的网络字段（VPC ID IDs、子网和安全组 IDs）中输入相同的信息。有关更多信息，请参阅 [已安装的提供商支持组织的连接和主机设置](troubleshooting-connections.md#troubleshooting-organization-host)。

主机可具有以下状态：
+ `Pending` - `pending` 主机是指已创建的主机，必须先对其进行设置（移至 `available`），然后才能使用。
+ `Available` - 您可以使用 `available` 主机或将其传递给您的连接。

**工作流程：使用 CLI、SDK 或 AWS CloudFormation创建或更新主机**

您可以使用 [CreateHost](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_CreateHost.html)API 使用 AWS Command Line Interface (AWS CLI)、SDK 或创建主机 CloudFormation。创建后，主机处于 `pending` 状态。您可以使用控制台中的**设置**选项完成该过程。

**工作流程：使用控制台创建或更新主机**

如果您要创建与已安装的提供商类型（例如 GitHub企业服务器或 GitLab 自行管理）的连接，则需要创建主机或使用现有主机。如果要连接到云提供程序类型（如 Bitbucket），则跳过创建主机并继续创建连接。

使用控制台设置主机并将其状态从 `pending` 更改为 `available`。

![\[显示创建与第三方提供程序连接的工作流的图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/Hosts-flowchart.png)


# 中的全球资源 AWS CodeConnections
<a name="welcome-connections-how-it-works-global"></a>

连接是全局资源，这意味着资源将在所有 AWS 区域间复制。

虽然连接 ARN 格式反映了其创建位置的区域名称，但资源不受限于任何区域。创建连接资源的区域是控制连接资源数据更新的区域。控制连接资源数据更新的 API 操作示例包括创建连接、更新安装、删除连接或标记连接。

用于连接的主机资源不是全局可用的资源。您只在创建主机资源的区域中使用主机资源。
+ 您只需创建一次连接，然后您就可以在任何 AWS 区域区域中使用它。
+ 如果创建连接的区域出现问题，则会影响 APIs控制连接资源数据，但您仍然可以在其他所有区域成功使用该连接。
+ 当您在控制台或 CLI 中列出连接资源时，列表会显示所有区域中与您的账户关联的所有连接资源。
+ 当您在控制台或 CLI 中列出主机资源时，列表仅显示选定区域中与您的账户关联的主机资源。
+ 当使用 CLI 列出或查看与关联主机资源的连接时，输出将返回主机 ARN，而不考虑配置的 CLI 区域如何。

## 如何开始使用连接？
<a name="welcome-connections-get-started"></a>

要开始使用通知，请先回顾此处提供的一些实用主题：
+ **学习**关于连接的[概念](concepts-connections.md)。
+ **设置**开始使用连接[所需的资源](setting-up-connections.md)。
+ **开始尝试**使用您的[第一批连接](getting-started-connections.md)，并将其连接到资源。

# 连接概念
<a name="concepts-connections"></a>

如果您了解概念和术语，则可更轻松地设置和使用连接特征。以下是使用开发工具控制台中的连接时要了解的一些概念：

安装  
第三方账户上的 AWS 应用程序实例。安装 Con AWS CodeStar nector 应用程序 AWS 允许访问第三方账户中的资源。只能在第三方提供商的网站上编辑安装。

连接  
一种用于将第三方来源存储库连接到其他 AWS 服务的 AWS 资源。

第三方存储库  
由不属于 AWS的服务或公司提供的存储库。例如，Bitbucket 存储库就是第三方存储库。

提供商类型  
提供要连接到的第三方源存储库的服务或公司。您可以将 AWS 资源连接到外部*提供商类型*。源存储库安装在网络和基础设施上的提供商类型是已安装的提供程序类型。例如， GitHub 企业服务器是一种已安装的提供程序类型。

host  
表示安装第三方提供程序的基础设施的资源。连接使用主机来表示安装第三方提供商的服务器，例如 GitHub 企业服务器。您可以为到该提供程序类型的所有连接创建一个主机。  
当您使用控制台创建与 GitHub 企业服务器的连接时，作为该过程的一部分，控制台会为您创建一个主机资源。

# AWS CodeConnections 支持的提供程序和版本
<a name="supported-versions-connections"></a>

本章提供有关 AWS CodeConnections支持的提供程序和版本的信息。

**Topics**
+ [Azure 支持的提供程序类型 DevOps](#w2aab5c25c22b9)
+ [Bitbucket 支持的提供程序类型](#supported-versions-connections-bitbucket)
+ [GitHub 和 GitHub 企业云支持的提供商类型](#supported-versions-connections-github)
+ [GitHub 企业服务器支持的提供程序类型和版本](#supported-versions-connections-ghes)
+ [GitLab.com 支持的提供商类型](#supported-versions-connections-gitlab)
+ [GitLab 自我管理支持的提供商类型](#supported-versions-connections-gitlab-managed)

## Azure 支持的提供程序类型 DevOps
<a name="w2aab5c25c22b9"></a>

你可以将连接应用程序与 Azure 配合使用 DevOps。

不支持已安装（托管）的提供程序类型，例如 Azure 云托管。

## Bitbucket 支持的提供程序类型
<a name="supported-versions-connections-bitbucket"></a>

你可以将连接应用程序与 Atlassian Bitbucket Cloud 配合使用。

不支持已安装的 Bitbucket 提供程序类型（如 Bitbucket 服务器）。

## GitHub 和 GitHub 企业云支持的提供商类型
<a name="supported-versions-connections-github"></a>

您可以将连接应用程序 GitHub 与 GitHub 企业云一起使用。

## GitHub 企业服务器支持的提供程序类型和版本
<a name="supported-versions-connections-ghes"></a>

您可以将连接应用程序与支持的 GitHub 企业服务器版本一起使用。有关受支持的版本的列表，请参阅 [https://enterprise.github.com/releases/](https://enterprise.github.com/releases/)。

**重要**  
AWS CodeConnections 不支持已弃用的 GitHub 企业服务器版本。例如，由于版本中存在已知问题， AWS CodeConnections 不支持 GitHub 企业服务器版本 2.22.0。要执行连接，请升级到版本 2.22.1 或最新的可用版本。

## GitLab.com 支持的提供商类型
<a name="supported-versions-connections-gitlab"></a>

您可以通过 GitLab .com 使用连接。有关更多信息，请参阅 [创建与的连接 GitLab](connections-create-gitlab.md)。

**重要**  
对连接的支持 GitLab 包括 15.x 版及更高版本。

## GitLab 自我管理支持的提供商类型
<a name="supported-versions-connections-gitlab-managed"></a>

您可以将连接与 GitLab 自行管理安装（适用于企业版或社区版）配合使用。有关更多信息，请参阅 [创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)。

# 产品和服务与 AWS CodeConnections
<a name="integrations-connections"></a>

AWS CodeConnections 已与许多 AWS 服务以及合作伙伴产品和服务集成。使用以下部分中的信息来帮助您将连接配置为与您使用的产品和服务集成。

下列相关资源在您使用此服务的过程中会有所帮助。

**Topics**
+ [Amazon CodeGuru Reviewer](#integrations-connections-codeguru)
+ [Amazon Q 开发者版](#integrations-connections-codewhisperer)
+ [亚马逊 SageMaker](#integrations-connections-sagemaker)
+ [AWS App Runner](#integrations-connections-apprunner)
+ [AWS CloudFormation](#integrations-connections-cloudformation)
+ [AWS CodeBuild](#integrations-connections-codebuild)
+ [AWS CodePipeline](#integrations-connections-codepipeline)
+ [服务目录](#integrations-connections-servicecatalog)
+ [AWS Proton](#integrations-connections-proton)

## Amazon CodeGuru Reviewer
<a name="integrations-connections-codeguru"></a>

[CodeGuru Reviewer](https://aws.amazon.com/codeguru/) 是一项用于监控存储库代码的服务。您可以使用连接来关联包含您要查看的代码的第三方存储库。有关学习如何配置 CodeGuru Reviewer 以监控 GitHub 存储库中的源代码以便其创建改进代码的建议的教程，请参阅 *Amazon CodeGuru Reviewer 用户*指南[中的教程：监控 GitHub 存储库中的源代码](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/tutorial-github-reviewer.html)。

## Amazon Q 开发者版
<a name="integrations-connections-codewhisperer"></a>

Amazon Q Developer 是一款基于人工智能的生成式对话助手，可以帮助您理解、构建、扩展和操作 AWS 应用程序。有关更多信息，请参阅《Amazon Q Developer User Guide》**中的 [What is Amazon Q Developer?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html)。

## 亚马逊 SageMaker
<a name="integrations-connections-sagemaker"></a>

[Amazon SageMaker](https://aws.amazon.com/sagemaker/) 是一项用于构建、训练和部署机器学习语言模型的服务。有关配置 GitHub 存储库连接的教程，请参阅《A *mazon SageMaker 开发者*指南》中的[使用第三方 Git 存储库的SageMaker MLOps 项目演练](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-walkthrough-3rdgit.html)。

## AWS App Runner
<a name="integrations-connections-apprunner"></a>

[AWS App Runner](https://aws.amazon.com/apprunner/) 服务提供了一种快速、简单且经济高效的方式，从源代码或容器镜像直接部署到 AWS 云中可扩展且安全的 Web 应用程序。您可以使用 App Runner 自动集成和交付管道从存储库部署应用程序代码。您可以使用连接将源代码从私有 GitHub 存储库部署到 App Runner 服务。有关更多信息，请参阅 *AWS App Runner 开发人员指南* 中的[源代码存储库提供商](https://docs.aws.amazon.com/apprunner/latest/dg/service-source-code.html)。

## AWS CloudFormation
<a name="integrations-connections-cloudformation"></a>

[AWS CloudFormation](https://aws.amazon.com/cloudformation/)是一项服务，可帮助您对 AWS 资源进行建模和设置，这样您就可以花更少的时间管理这些资源，而将更多的时间集中在运行的应用程序上 AWS。您可以创建一个描述所需的所有 AWS 资源（例如 Amazon EC2 实例或 Amazon RDS 数据库实例）的模板，并 CloudFormation 负责为您预置和配置这些资源。

您可以使用与 Git 同步的连接 CloudFormation 来创建用于监控您的 Git 存储库的同步配置。有关如何使用 Git 同步进行堆栈部署的教程，请参阅*《CloudFormation 用户指南》*中的 “[使用 CloudFormation Git 同步](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/git-sync.html)”。

 有关更多信息 CloudFormation，请参阅《*CloudFormation 命令行界面用户指南》*中的[注册账户以发布 CloudFormation 扩展](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html)。

## AWS CodeBuild
<a name="integrations-connections-codebuild"></a>

[AWS CodeBuild](https://aws.amazon.com/codebuild/)是一项用于构建和测试代码的服务。 CodeBuild 无需预置、管理和扩展自己的生成服务器，而且它为流行的编程语言和构建工具提供了预打包的构建环境。有关使用 CodeBuild 与的连接的更多信息 GitLab，请参阅《*AWS CodeBuild 用户指南*》中的[GitLab连接](https://docs.aws.amazon.com/codebuild/latest/userguide/connections-gitlab.html)。

## AWS CodePipeline
<a name="integrations-connections-codepipeline"></a>

[CodePipeline](https://aws.amazon.com/codepipeline/) 是一种持续交付服务，可用于建模、可视化和自动执行发布软件所需的步骤。您可以使用连接为 CodePipeline 源操作配置第三方存储库。

了解更多：
+ 有关该 CodePipeline 操作，请参阅操作配置参考页面。`SourceConnections`要查看配置参数和示例 JSON/YAML 片段，请参阅*AWS CodePipeline 用户指南[CodeStarSourceConnection](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html)*中的。
+ 要查看使用第三方源存储库创建管道的**入门** 教程，请参阅[开始使用连接](getting-started-connections.md)。

## 服务目录
<a name="integrations-connections-servicecatalog"></a>

S@@ [ervice Catalog](https://aws.amazon.com/servicecatalog/) 使组织能够创建和管理获准在上 AWS使用的产品目录。

当您授权 AWS 账户 与外部存储库提供商（例如 En GitHub terprise 或 Bitbucket）建立连接时，该连接允许您将 Service Catalog 产品同步到通过第三方存储库管理的模板文件。 GitHub

有关更多信息，请参阅《服务目录*用户指南》中的 “将[服务目录产品同步到来自 GitHub、En GitHub terprise 或 Bitbucket 的模板文件](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/git-synced-sc-products.html)”*。

## AWS Proton
<a name="integrations-connections-proton"></a>

[AWS Proton](https://aws.amazon.com/proton/) 是一项基于云的服务，用于部署到云基础架构。您可以使用连接为 AWS Proton模板中的资源创建指向第三方存储库的链接。有关更多信息，请参阅 *AWS Proton 用户指南* 中的[创建指向存储库的链接](https://docs.aws.amazon.com/proton/latest/userguide/ag-create-repo.html)。

# 设置连接
<a name="setting-up-connections"></a>

完成本部分中的任务，以便准备在开发工具控制台中创建和使用连接功能。

**Topics**
+ [报名参加 AWS](#setting-up-aws-sign-up)
+ [创建并应用具有创建连接的权限的策略](#setting-up-connections-iamuser)

## 报名参加 AWS
<a name="setting-up-aws-sign-up"></a>

### 注册获取 AWS 账户
<a name="sign-up-for-aws"></a>

如果您没有 AWS 账户，请完成以下步骤来创建一个。

**要注册 AWS 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.aws.amazon.com/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 [https://aws.amazon.com/](https://aws.amazon.com/)并选择 “**我的账户”，查看您当前的账户活动并管理您的账户**。

### 创建具有管理访问权限的用户
<a name="create-an-admin"></a>

注册后，请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center，启用并创建管理用户，这样您就不会使用 root 用户执行日常任务。

**保护你的 AWS 账户根用户**

1.  选择 **Root 用户**并输入您的 AWS 账户 电子邮件地址，以账户所有者的身份登录。[AWS 管理控制台](https://console.aws.amazon.com/)在下一页上，输入您的密码。

   要获取使用根用户登录方面的帮助，请参阅《AWS 登录 用户指南》**中的 [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 为您的根用户启用多重身份验证（MFA）。

   有关说明，请参阅 I [A *M* 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**创建具有管理访问权限的用户**

1. 启用 IAM Identity Center。

   有关说明，请参阅**《AWS IAM Identity Center 用户指南》中的[启用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，为用户授予管理访问权限。

   有关使用 IAM Identity Center 目录 作为身份源的教程，请参阅《[用户*指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户*访问权限](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理访问权限的用户身份登录**
+ 要使用您的 IAM Identity Center 用户身份登录，请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录 URL。

  有关使用 IAM Identity Center 用户[登录的帮助，请参阅*AWS 登录 用户指南*中的登录 AWS 访问门户](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**将访问权限分配给其他用户**

1. 在 IAM Identity Center 中，创建一个权限集，该权限集遵循应用最低权限的最佳做法。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 将用户分配到一个组，然后为该组分配单点登录访问权限。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

## 创建并应用具有创建连接的权限的策略
<a name="setting-up-connections-iamuser"></a>



**使用 JSON 策略编辑器创建策略**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左侧的导航窗格中，选择**策略**。

   如果这是您首次选择**策略**，则会显示**欢迎访问托管式策略**页面。选择**开始使用**。

1. 在页面的顶部，选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON** 选项。

1. 输入以下 JSON 策略文档：

   ```
    {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "codeconnections:CreateConnection",
                   "codeconnections:DeleteConnection",
                   "codeconnections:GetConnection",
                   "codeconnections:ListConnections",
                   "codeconnections:GetInstallationUrl",
                   "codeconnections:GetIndividualAccessToken",
                   "codeconnections:ListInstallationTargets",
                   "codeconnections:StartOAuthHandshake",
                   "codeconnections:UpdateConnectionInstallation",
                   "codeconnections:UseConnection"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

1. 选择**下一步**。
**注意**  
您可以随时在**可视化**和 **JSON** 编辑器选项卡之间切换。不过，如果您进行更改或在**可视化**编辑器中选择**下一步**，IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息，请参阅*《IAM 用户指南》*中的[调整策略结构](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**查看并创建**页面上，为您要创建的策略输入**策略名称**和**描述**（可选）。查看**此策略中定义的权限**以查看策略授予的权限。

1. 选择**创建策略**可保存您的新策略。

# 开始使用连接
<a name="getting-started-connections"></a>

开始使用连接的最简单方法是建立连接，将您的第三方源存储库与您的 AWS 资源关联起来。如果要将管道连接到 AWS 源（例如） CodeCommit，则可以将其作为源操作进行连接。但是，如果您有外部存储库，则必须创建连接以将存储库与管道相关联。在本教程中，您将设置与 Bitbucket 存储库和管道的连接。

在本部分中，您将使用以下连接：
+ AWS CodePipeline：在这些步骤中，您可以使用 Bitbucket 存储库创建管道作为管道源。
+ [Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html)：接下来，您将您的 Bitbucket 存储库与 Reviewer 中的 CodeGuru 反馈和分析工具相关联。

**Topics**
+ [先决条件](#getting-started-connections-prerequisites)
+ [步骤 1：编辑源文件](#getting-started-connections-edit)
+ [步骤 2：创建管道](#getting-started-connections-pipeline)
+ [步骤 3：将您的仓库与 CodeGuru Reviewer 关联](#getting-started-connections-analysis)

## 先决条件
<a name="getting-started-connections-prerequisites"></a>

在开始之前，请完成 [设置](setting-up.md) 中的步骤。您还需要一个第三方源存储库来连接到您的 AWS 服务并允许该连接为您管理身份验证。例如，您可能想将 Bitbucket 存储库连接到与源存储库集成的 AWS 服务。
+ 使用您的 Bitbucket 账户创建一个 Bitbucket 存储库。
+ 准备好您的 Bitbucket 凭证。当您使用建立连接时 AWS 管理控制台 ，系统会要求您使用您的 Bitbucket 凭据登录。

## 步骤 1：编辑源文件
<a name="getting-started-connections-edit"></a>

当您创建您的 Bitbucket 存储库时，包含默认的 `README.md` 文件，您要对其进行编辑。

1. 登录到您的 Bitbucket 存储库，然后选择 **Source (源)**。

1. 选择 `README.md` 文件，然后选择页面顶部的 **Edit (编辑)**。删除现有文本并添加以下文本。

   ```
   This is a Bitbucket repository!
   ```

1. 选择**提交**。

   确保 `README.md` 文件位于存储库的根级别。

## 步骤 2：创建管道
<a name="getting-started-connections-pipeline"></a>

在此部分中，您将使用以下操作创建管道：
+ 与您的 Bitbucket 存储库和操作连接的源阶段。
+ 带有生成操作的 AWS CodeBuild 生成阶段。

**使用向导创建管道**

1. 登录 CodePipeline 控制台，网址为[https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/)。

1. 在**欢迎**页面、**入门**页面或**管道**页面上，选择**创建管道**。

1. 在**步骤 1：选择管道设置**的**管道名称**中，输入 **MyBitbucketPipeline**。

1. 在**服务角色**中，选择**新建服务角色**。
**注意**  
如果您选择使用现有的 CodePipeline 服务角色，请确保已`codeconnections:UseConnection`将 IAM 权限添加到您的服务角色策略中。有关 CodePipeline 服务角色的说明，请参阅[为 CodePipeline 服务角色添加权限](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services)。

1. 在**高级设置**下，保留原定设置值。在**构件存储**中，选择**默认位置**以将默认构件存储（如指定为默认值的 Amazon S3 项目存储桶）用于为管道选择的区域中的管道。
**注意**  
这不是源代码的源存储桶。这是管道的项目存储。每个管道都需要一个单独的构件存储，例如 S3 存储桶。

   选择**下一步**。

1. 在 **Step 2: Add source stage (步骤 2：添加源阶段)** 页面上，添加源阶段：

   1. 对于 **Source provider (源提供商)**，选择 **Bitbucket**。

   1. 在 **Connection (连接)** 下，选择 **Connect to Bitbucket (连接到 Bitbucket)**。

   1. 在 **Connect to Bitbucket (连接到 Bitbucket)** 页面上的 **Connection name (连接名称)** 中，输入要创建的连接的名称。该名称可帮助您稍后识别此连接。

      在 **Bitbucket apps (Bitbucket 应用程序)** 下，选择**Install a new app (安装新应用程序)**。

   1. 在应用程序安装页面上，一条消息显示该 AWS CodeStar 应用程序正在尝试连接到您的 Bitbucket 帐户。选择**授予访问权限**。授权连接后，系统会检测到 Bitbucket 上的存储库，您可以选择将其中一个存储库与您的 AWS 资源相关联。

   1. 将显示新安装的连接 ID。选择**完成连接**。您将返回到 CodePipeline控制台。

   1. 在 **Repository name (存储库名称)** 中，选择 Bitbucket 存储库的名称。

   1. 在 **Branch name (分支名称)** 中，选择存储库的分支。

   1. 确保选择了**在源代码更改时启动管道**选项。

   1. 在 “**输出对象格式**” 下，选择以下选项之一：**CodePipeline 默认**。
      + 选择 “**CodePipeline 默认**” 以对管道中的工件使用默认 zip 格式。
      + 选择**完全克隆**，以包含有关管道中构件的存储库的 Git 元数据。只有 CodeBuild操作才支持此功能。

   选择**下一步**。

1. 在**添加构建阶段**，添加一个构建阶段：

   1. 在**构建提供程序**中，选择 **AWS CodeBuild**。允许**区域**默认为管道区域。

   1. 选择**创建项目**。

   1. 在**项目名称**中，输入此构建项目的名称。

   1. 在**环境映像**中，选择**托管映像**。对于**操作系统**，选择 **Ubuntu**。

   1. 对于**运行时**，选择**标准**。**对于 “**图像**”，选择:5.0 aws/codebuild/standard。**

   1. 对于**服务角色**，选择**新建服务角色**。

   1. 在 **Buildspec (构建规范)** 下，为 **Build specifications (构建规范)** 选择 **Insert build commands (插入构建命令)**。选择 **Switch to editor (切换到编辑器)**，然后将以下内容粘贴到 **Build commands (生成命令)**：

      ```
      version: 0.2
      
      phases:
        install:
          #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions.
          #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails.
          runtime-versions:
            nodejs: 12
            # name: version
          #commands:
            # - command
            # - command
        pre_build:
          commands:
            - ls -lt
            - cat README.md
        # build:
          #commands:
            # - command
            # - command
        #post_build:
          #commands:
            # - command
            # - command
      #artifacts:
        #files:
          # - location
          # - location
        #name: $(date +%Y-%m-%d)
        #discard-paths: yes
        #base-directory: location
      #cache:
        #paths:
          # - paths
      ```

   1. 选择 “**继续” CodePipeline**。这将返回到 CodePipeline控制台并创建一个使用您的构建命令进行配置的 CodeBuild 项目。构建项目使用服务角色来管理 AWS 服务权限。此步骤可能需要几分钟时间。

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

1. 在**步骤 4：添加部署阶段**页面上，选择**跳过部署阶段**，并通过再次选择**跳过**接受警告消息。选择**下一步**。

1. 在**步骤 5：审核**中，选择**创建管道**。

1. 成功创建管道后，将开始管道执行。  
![\[显示已使用 Bitbucket 源成功完成管道的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/pipeline-wizard-bitbucket.png)

1. 在成功构建阶段，选择 **Details (详细信息)**。

   在 “**执行详情**” 下，查看 CodeBuild 生成输出。这些命令将输出 `README.md` 文件内容，如下所示：

   ```
   This is a Bitbucket repository!
   ```  
![\[显示已成功完成构建输出示例的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/pipeline-wizard-bitbucket-output.png)

## 步骤 3：将您的仓库与 CodeGuru Reviewer 关联
<a name="getting-started-connections-analysis"></a>

创建连接后，您可以将该连接用于同一账户中的所有 AWS 资源。例如，您可以将相同的 Bitbucket 连接用于管道中的 CodePipeline 源操作和 CodeGuru Reviewer 中的仓库提交分析。

1. 登录 CodeGuru 审阅者控制台。

1. 在 **CodeGuru Reviewer** 下，选择**关联存储库**。

   此时将打开一页式向导。

1. 在 **Select source provider (选择源提供程序)** 下，选择 **Bitbucket**。

1. 在 “**Connect to Bitbucket（使用 AWS CodeConnections）**” 下，选择您为管道创建的连接。

1. 在 **Repository location (存储库位置)** 下，选择 Bitbucket 存储库的名称，然后选择 **Associate (关联)**。

   您可以继续设置代码审阅。有关更多信息，请参阅 A *mazon Reviewer 用户指南中的连接到 Bitbucket 以将存储库与 CodeGuru Re CodeGuru viewer* [关联起来](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/create-bitbucket-association.html)。

# 使用连接
<a name="connections"></a>

*连接*是您用于将 AWS 资源连接到外部代码存储库的配置。每个连接都是可以提供给服务的资源，例如用于 AWS CodePipeline 连接到第三方存储库（例如 Bitbucket）。例如，您可以在中添加连接， CodePipeline 以便在对第三方代码存储库进行代码更改时，它会触发您的管道。您也可以将 AWS 资源连接到已安装的提供程序类型，例如 GitHub 企业服务器。

**注意**  
对于 GitHub 或 E GitHub nterprise Server 中的组织，您不能将 GitHub 应用程序安装到多个 GitHub 组织中。应用程序到 GitHub 组织的映射是 1:1 的映射。一个组织一次只能有一个应用程序；但是，你可以有多个连接指向同一个应用程序。有关更多详细信息，请参阅[如何 AWS CodeConnections 与组织建立联系](welcome-connections-how-it-works-github-organizations.md)。

如果要创建与已安装的提供程序类型（例如 En GitHub terprise Server）的连接，则控制台会为您创建主机。主机是您创建的资源，用于表示安装提供程序的服务器。有关更多信息，请参阅 [使用主机](connections-hosts.md)。

创建连接时，您可以使用控制台中的向导在第三方提供商处安装连接应用程序，并将其与新连接相关联。如果您已经安装了 应用程序，则可以使用它。

**注意**  
要在欧洲（米兰）使用连接 AWS 区域，您必须：  
安装区域特定的应用程序
启用该区域
这一特定于区域的应用程序支持欧洲地区（米兰）区域中的连接。该应用程序在第三方提供商网站上发布，与支持其他区域的连接的现有应用程序是分开的。安装此应用程序，即表示您授权第三方提供商仅与该区域的服务共享您的数据，并且您可以随时通过卸载该应用程序来撤消权限。  
除非您启用区域，否则该服务不会处理或存储您的数据。启用此区域，即表示您授予我们的服务处理和存储您的数据的权限。  
即使未启用该区域，如果区域特定的应用程序仍保持安装状态，第三方提供商也仍可以与我们的服务共享您的数据，因此，请务必在禁用该区域后立即卸载该应用程序。有关更多信息，请参阅[启用区域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。

有关连接的更多信息，请参阅 [AWS CodeConnections API 参考](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)。有关 Bitbucket CodePipeline 源操作的更多信息，请参阅*AWS CodePipeline 用户指南[CodestarConnectionSource](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodestarConnectionSource.html)*中的。

要为你的 AWS Identity and Access Management (IAM) 用户或角色创建或关联具有使用连接所需权限的策略，请参阅[AWS CodeConnections 权限参考](security-iam.md#permissions-reference-connections)。根据您的 CodePipeline 服务角色的创建时间，您可能需要将其权限更新为支持 AWS CodeConnections。有关说明，请参阅*AWS CodePipeline 用户指南*中的[更新服务角色](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-update-role-new-services.html)。

**Topics**
+ [创建连接](connections-create.md)
+ [创建与 Azure 的连接 DevOps](connections-create-azure.md)
+ [创建到 Bitbucket 的连接](connections-create-bitbucket.md)
+ [创建与的连接 GitHub](connections-create-github.md)
+ [创建与 GitHub 企业服务器的连接](connections-create-gheserver.md)
+ [创建与的连接 GitLab](connections-create-gitlab.md)
+ [创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)
+ [更新挂起的连接](connections-update.md)
+ [列出连接](connections-list.md)
+ [删除连接](connections-delete.md)
+ [为连接资源添加标签](connections-tag.md)
+ [查看连接详细信息](connections-view-details.md)
+ [与共享连接 AWS 账户](connections-share.md)

# 创建连接
<a name="connections-create"></a>

您可以创建与以下第三方提供程序类型的连接：
+ 要创建到 Bitbucket 的连接，请参阅[创建到 Bitbucket 的连接](connections-create-bitbucket.md)。
+ 要创建与我们的 GitHub 企业云 GitHub 的连接，请参阅[创建与的连接 GitHub](connections-create-github.md)。
+ 要创建与 GitHub 企业服务器的连接，包括创建主机资源，请参阅[创建与 GitHub 企业服务器的连接](connections-create-gheserver.md)。
+ 要创建与的连接 GitLab，请参阅[创建与的连接 GitLab](connections-create-gitlab.md)。
+ 要创建与 Azure 的连接 DevOps，请参阅[创建与 Azure 的连接 DevOps](connections-create-azure.md)。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

# 创建与 Azure 的连接 DevOps
<a name="connections-create-azure"></a>

你可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 来创建与 Azure 上托管的存储库的连接 DevOps。

开始前的准备工作：
+ 你必须已经在 Azure 中创建了一个帐户 DevOps。
+ 你必须已经在 Azure DevOps 门户上创建了项目和 Azure 存储库。您的账户必须具有仓库的管理员访问权限。
**注意**  
你可以创建与 Azure DevOps 存储库的连接。不支持已安装（在主机上）Azure 提供程序类型，例如 Azure 云托管。请参阅[AWS CodeConnections 支持的提供程序和版本](supported-versions-connections.md)。

**注意**  
连接只能访问用于创建连接的账户所拥有的存储库。

**Topics**
+ [创建与 Azure 的连接 DevOps （控制台）](#connections-create-azure-console)
+ [创建与 Azure 的连接 DevOps (CLI)](#connections-create-azure-cli)

## 创建与 Azure 的连接 DevOps （控制台）
<a name="connections-create-azure-console"></a>

你可以使用控制台创建与 Azure 的连接 DevOps。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

**步骤 1：创建连接**

1. 登录并打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。 AWS 管理控制台

1. 选择**设置 > 连接**，然后选择**创建连接**。

1. 要创建与 Azure DevOps 存储库的连接，**请在 “选择提供者”** 下选择 **Azure DevOps**。在**连接名称**中，输入要创建的连接的名称。选择 “**连接到 Azure**” DevOps，然后继续执行步骤 2。  
![\[显示为 Azure 选择的连接选项的控制台屏幕截图 DevOps。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-azure-updated.png)

**第 2 步：连接到 Azure DevOps**

1. 在 “**连接到 Azure DevOps** 设置” 页面上，将显示你的连接名称。

   

1. 如果显示 Microsoft 的登录页面，请使用您的凭证登录，然后选择继续。

   如果这是你第一次 DevOps 从创建到 Azure 的连接，则可能需要授予权限 AWS 管理控制台。  
![\[在创建与 Azure 的连接时，Microsoft 权限会为首次使用的用户请求屏幕截图 DevOps。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/permissions_request_azure.png)

1. 选择 **Accept (接受)**。

1. 在连接页面上，将显示新安装的连接 ID。

1. 选择 **Connect** 以建立连接。创建的连接显示在连接列表中，现在处于可用状态并可以使用。

## 创建与 Azure 的连接 DevOps (CLI)
<a name="connections-create-azure-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 来创建连接。

为此，请使用 **create-connection** 命令。

**重要**  
默认情况下，通过 AWS CLI 或创建的连接 AWS CloudFormation 处于`PENDING`状态。使用 CLI 或创建连接后 CloudFormation，使用控制台编辑连接以使其处于状态`AVAILABLE`。

**创建与 Azure 的连接 DevOps**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-connection**命令，`--connection-name`为您的连接指定`--provider-type`和。在此示例中，第三方提供方名称为 `AzureDevOps`，指定的连接名称为 `MyConnection`。

   ```
   aws codeconnections create-connection --provider-type AzureDevOps --connection-name MyConnection
   ```

   如果成功，该命令将返回类似以下内容的连接 ARN 信息。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用控制台完成连接。有关更多信息，请参阅 [更新挂起的连接](connections-update.md)。

# 创建到 Bitbucket 的连接
<a name="connections-create-bitbucket"></a>

您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 来创建与 bitbucket.org 上托管的存储库的连接。

开始前的准备工作：
+ 您必须已使用 Bitbucket 创建有账户。
+ 您必须已在 bitbucket.org 上创建了一个代码存储库。
**注意**  
您可以创建到 Bitbucket Cloud 存储库的连接。不支持已安装的 Bitbucket 提供程序类型（如 Bitbucket 服务器）。请参阅[AWS CodeConnections 支持的提供程序和版本](supported-versions-connections.md)。

**注意**  
连接只能访问用于创建连接的账户所拥有的存储库。  
如果要将应用程序安装在 Bitbucket 工作区中，则需要 **Administer workspace**（管理工作区）权限。否则，安装应用程序的选项将不会显示。

**Topics**
+ [创建到 Bitbucket 的连接（控制台）](#connections-create-bitbucket-console)
+ [创建到 Bitbucket 的连接 (CLI)](#connections-create-bitbucket-cli)

## 创建到 Bitbucket 的连接（控制台）
<a name="connections-create-bitbucket-console"></a>

您可以使用控制台创建与 Bitbucket 的连接。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

**步骤 1：创建连接**

1. 登录并打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。 AWS 管理控制台

1. 选择**设置 > 连接**，然后选择**创建连接**。

1. 要创建到 Bitbucket 存储库的连接，请在 **Select a provider (选择提供商)** 下，选择 **Bitbucket**。在 **Connection name (连接名称)** 中，输入要创建的连接的名称。选择 **Connect to Bitbucket (连接到 Bitbucket)**，然后继续执行步骤 2。  
![\[显示为 Bitbucket 选择的连接选项的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-bitbucket.png)

**步骤 2：连接到 Bitbucket**

1. 在 **Connect to Bitbucket (连接到 Bitbucket)** 设置页面上，将显示您的连接名称。

   在 **Bitbucket 应用程序**下，选择一个应用程序安装，或者选择**安装新应用程序**来创建一个应用程序安装。
**注意**  
您只为每个 Bitbucket 工作区或账户安装一次应用程序。如果您已经安装了 Bitbucket 应用程序，请选择它，然后移至本部分内容中的最后一步。  
![\[显示“Connect to Bitbucket (连接到 Bitbucket)”对话框以及安装新应用程序按钮的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/newreview-source-wizard-bitbucket.png)

1. 如果显示 Bitbucket 的登录页面，请使用您的凭证登录，然后选择继续。

1. 在应用程序安装页面上，一条消息显示该 AWS CodeStar 应用程序正在尝试连接到您的 Bitbucket 帐户。

   如果您使用的是 Bitbucket 工作区，请更改工作区的 **Authorize for**（授权）选项。只有您拥有管理员访问权限的工作区才会显示。

   选择**授予访问权限**。  
![\[显示连接器访问请求的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/bitbucket-access-popup.png)

1. 在 **Bitbucket 应用程序**中，将显示新安装的连接 ID。选择**连接**。创建的连接将显示在连接列表中。  
![\[显示连接器访问请求的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/create-connection-bitbucket-app-ID.png)

## 创建到 Bitbucket 的连接 (CLI)
<a name="connections-create-bitbucket-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 来创建连接。

为此，请使用 **create-connection** 命令。

**重要**  
默认情况下，通过 AWS CLI 或创建的连接 AWS CloudFormation 处于`PENDING`状态。使用 CLI 或创建连接后 CloudFormation，使用控制台编辑连接以使其处于状态`AVAILABLE`。

**要创建到 Bitbucket 的连接**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-connection**命令，`--connection-name`为您的连接指定`--provider-type`和。在此示例中，第三方提供方名称为 `Bitbucket`，指定的连接名称为 `MyConnection`。

   ```
   aws codeconnections create-connection --provider-type Bitbucket --connection-name MyConnection
   ```

   如果成功，该命令将返回类似以下内容的连接 ARN 信息。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用控制台完成连接。有关更多信息，请参阅 [更新挂起的连接](connections-update.md)。

# 创建与的连接 GitHub
<a name="connections-create-github"></a>

您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 来创建与的连接 GitHub。

开始前的准备工作：
+ 您必须已经使用创建了账户 GitHub。
+ 您必须已创建第三方代码存储库。

**注意**  
要创建连接，您必须是 GitHub 组织所有者。对于不属于组织的存储库，您必须是存储库拥有者。

**Topics**
+ [创建与 GitHub （控制台）的连接](#connections-create-github-console)
+ [创建与 GitHub (CLI) 的连接](#connections-create-github-cli)

## 创建与 GitHub （控制台）的连接
<a name="connections-create-github-console"></a>



您可以使用控制台创建与的连接 GitHub。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

1. 登录并打开开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。 AWS 管理控制台

1. 选择**设置 > 连接**，然后选择**创建连接**。

1. 要创建与 GitHub 或 GitHub 企业云存储库的连接，**请在选择提供商**下选择**GitHub**。在**连接名称**中，输入要创建的连接的名称。选择 **Connect t** o GitHub，然后继续执行步骤 2。  
![\[显示为 Bitbucket 选择的连接选项的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/github-conn.png)

**要创建与的连接 GitHub**

1. 在 **“GitHub 连接设置”** 下，您的连接名称显示在 “**连接名称**” 中。选择 **Connect to GitHub**。此时将显示访问请求页面。  
![\[显示 GitHub 账户访问页面的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/github-conn-access.png)

1. 选择 “**为 AWS 连接器授权” GitHub**。连接页面将显示并显示 “**GitHub 应用程序**” 字段。  
![\[控制台屏幕截图显示了带有 “ GitHub 应用程序” 字段的初始 GitHub 连接页面。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/github-conn-access-app.png)

1. 在 “**GitHub 应用程序**” 下，选择应用程序安装或选择 “**安装新应用程序**” 来创建一个。
**注意**  
您可以为与特定提供程序的所有连接安装一个应用程序。如果您已经安装了 GitHub 应用程序 AWS 连接器，请选择它并跳过此步骤。

1. 在 “安装**AWS 连接器 GitHub**” 页面上，选择要在其中安装应用程序的帐户。  
![\[显示 GitHub安装 AWS 连接器页面的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/github-conn-access-app-install1.png)
**注意**  
您只需为每个 GitHub 账户安装一次该应用程序。如果您之前已安装了应用程序，则可以选择**配置**，继续进入应用程序安装的修改页面，也可以使用后退按钮返回到控制台。

1. 在 “**安装 AWS 连接器 GitHub**” 页面上，保留默认值，然后选择 “**安装**”。  
![\[控制台屏幕截图显示了第二个用于 GitHub安装的 AWS 连接器页面。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/github-conn-access-app-install2.png)

   完成此步骤后，中可能会显示更新的权限页面 GitHub。

1. 如果显示的页面显示 GitHub 应用程序的 Conn AWS ector 权限已更新，请选择 “**接受新权限**”。  
![\[控制台屏幕截图显示了用于 GitHub 更新权限的 AWS 连接器页面。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/accept-new-permissions.png)

1. 您将返回到 “**Connect to GitHub**” 页面。新安装的连接 ID 会显示在 “**GitHub应用程序**” 中。选择**连接**。

### 查看您创建的连接
<a name="connections-create-github-console-view"></a>
+ 创建的连接将显示在连接列表中。  
![\[显示已成功创建连接的连接列表的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-ghe-complete.png)

## 创建与 GitHub (CLI) 的连接
<a name="connections-create-github-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 创建与的连接 GitHub。

为此，请使用 **create-connection** 命令。

**重要**  
默认情况下，通过 AWS CLI 或创建的连接 AWS CloudFormation 处于`PENDING`状态。使用 CLI 或创建连接后 CloudFormation，使用控制台编辑连接以使其处于状态`AVAILABLE`。

**要创建与的连接 GitHub**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-connection**命令，`--connection-name`为您的连接指定`--provider-type`和。在此示例中，第三方提供方名称为 `GitHub`，指定的连接名称为 `MyConnection`。

   ```
   aws codeconnections create-connection --provider-type GitHub --connection-name MyConnection
   ```

   如果成功，该命令将返回类似以下内容的连接 ARN 信息。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用控制台完成连接。有关更多信息，请参阅 [更新挂起的连接](connections-update.md)。

# 创建与 GitHub 企业服务器的连接
<a name="connections-create-gheserver"></a>

您可以使用连接将您的 AWS 资源与第三方存储库关联。您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 来创建与 GitHub 企业服务器的连接。

连接仅提供对 GitHub 企业服务器帐户拥有的存储库的访问权限，该帐户在连接创建期间用于授权安装 GitHub应用程序。

开始前的准备工作：
+ 您必须已经有一个 GitHub 企业服务器实例和一个存储库。
+ 您需要是 GitHub 企业服务器实例的管理员才能创建 GitHub 应用程序和创建主机资源，如本节所示。

**重要**  
在为 GitHub 企业服务器设置主机时，会为您创建一个 Webhook 事件数据的 VPC 终端节点。如果您在 2020 年 11 月 24 日之前创建了主机，并且想要使用 VPC PrivateLink Webhook 终端节点，则必须先[删除](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-delete.html)主机，然后再[创建](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html)新主机。

**注意**  
对于使用 GitHub 企业服务器或 GitLab 自行管理的组织，您不会传递可用的主机。您要为组织中的每个连接创建一个新主机，并且必须确保在该主机的网络字段（VPC ID IDs、子网和安全组 IDs）中输入相同的信息。有关更多信息，请参阅 [已安装的提供商支持组织的连接和主机设置](troubleshooting-connections.md#troubleshooting-organization-host)。

**Topics**
+ [创建与 GitHub 企业服务器（控制台）的连接](connections-create-gheserver-console.md)
+ [创建与 GitHub 企业服务器 (CLI) 的连接](connections-create-gheserver-cli.md)

# 创建与 GitHub 企业服务器（控制台）的连接
<a name="connections-create-gheserver-console"></a>

要创建 GitHub 企业服务器连接，您需要提供 GitHub 企业服务器安装位置的信息，并使用您的 GitHub 企业凭据授权创建连接。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

**Topics**
+ [创建您的 GitHub 企业服务器连接（控制台）](#connections-create-gheserver-connection)

## 创建您的 GitHub 企业服务器连接（控制台）
<a name="connections-create-gheserver-connection"></a>

要创建与 GitHub 企业服务器的连接，请准备好服务器 URL 和 GitHub 企业凭据。<a name="proc-host-create-console-steps"></a>

**创建主机**

1. 登录并打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。 AWS 管理控制台

1. 在 **Host (主机)** 选项卡上，选择 **Create host (创建主机)**。

1. 在 **Host name (产品名称)** 中，输入您要用于主机的名称。

1. 在**选择提供程序**中，选择以下选项之一：
   + **GitHub 企业服务器**
   + **GitLab 自我管理**

1. 在 **URL** 中，输入安装提供程序的基础设施的终端节点。

1. 如果您的服务器是在 Amazon VPC 中配置的，并且您想要连接 VPC，请选择 **Use a VPC (使用 VPC)**。否则，请选择 **No VPC (无 VPC)**。

1. 如果您已将实例启动到 Amazon VPC 中，并且想要连接 VPC，请选择 **Use a VPC (使用 VPC)** 并完成以下操作。

   1. 在 **VPC ID** 中，选择您的 VPC ID。确保为基础设施选择安装实例的 VPC，或选择通过 VPN 或 Direct Connect 访问实例的 VPC。

   1. 如果您配置了私有 VPC，并且您已将实例配置为使用非公有证书颁发机构执行 TLS 验证，请在 **TLS 证书**中输入证书 ID。TLS 证书值为证书的公有密钥。

1. 选择 **Create host (创建主机)**。

1. 显示主机详细信息页面后，主机状态随着主机的创建而发生变化。
**注意**  
如果您的主机设置包括 VPC 配置，请等待几分钟时间来预置主机网络组件。

   等待您的主机进入 **Pending (待处理)** 状态，然后完成安装。有关更多信息，请参阅 [设置待处理的主机](connections-host-setup.md)。  
![\[显示主机处于待处理状态的主机详细信息的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-host-pending.png)

**步骤 2：创建与 GitHub 企业服务器（控制台）的连接**

1. 登录 AWS 管理控制台 并打开开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 选择**设置 > 连接**，然后选择**创建连接**。

1. 要创建与已安装的 GitHub 企业服务器存储库的连接，请选择**GitHub 企业服务器**。

**Connect 连接到 GitHub 企业服务器**

1. 在 **Connection name (连接名称)**，输入您的连接的名称。  
![\[显示不带 VPC 的 Create host settings (创建主机设置) 页面的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-ghes-screen.png)

1. 在 **URL** 中，输入服务器的终端节点。
**注意**  
如果所提供的 URL 已用于为连接设置 GitHub企业服务器，则系统将提示您选择之前为该终端节点创建的主机资源 ARN。

1. （可选）如果您已将服务器启动到 Amazon VPC 中，并且想要连接 VPC，请选择**使用 VPC** 并完成以下操作。
**注意**  
对于使用 GitHub 企业服务器或 GitLab 自行管理的组织，您不会传递可用的主机。您要为组织中的每个连接创建一个新主机，并且必须确保在该主机的网络字段（VPC ID IDs、子网和安全组 IDs）中输入相同的信息。有关更多信息，请参阅 [已安装的提供商支持组织的连接和主机设置](troubleshooting-connections.md#troubleshooting-organization-host)。

   1. 在 **VPC ID** 中，选择您的 VPC ID。请务必为安装 GitHub 企业服务器实例的基础设施选择 VPC，或者选择可通过 VPN 或 Direct Connect 访问 GitHub企业服务器实例的 VPC。

   1. 在 **Subnet ID (子网 ID)** 下，选择 **Add (添加)**。在字段中，选择要用于主机的子网 ID。您可以选择最多 10 个子网。

      请务必为安装 GitHub 企业服务器实例的基础架构选择子网，或者选择可以通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的子网。

   1. 在 “**安全组**” 下 IDs，选择 “**添加**”。在字段中，选择要用于主机的安全组。您最多可以选择 10 个安全组。

      请务必为安装 GitHub 企业服务器实例的基础架构选择安全组，或者选择可以通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的安全组。

   1. 如果您配置了私有 VPC，并且已将 GitHub 企业服务器实例配置为使用非公共证书颁发机构执行 TLS 验证，请在 **TLS 证书**中输入您的证书 ID。TLS 证书值应该是证书的公有密钥。  
![\[控制台屏幕截图显示了 VPC 选项的 “创建 GitHub 企业服务器连接” 页面。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-ghes-screen-vpc.png)

1. 选择 “**连接到 GitHub 企业服务器”**。创建的连接显示为**待处理**状态。将使用您提供的服务器信息为连接创建一个主机资源。对于主机名，将使用 URL。

1.  选择**更新待处理的连接**。  
![\[控制台屏幕截图显示待处理的 GitHub 企业服务器连接页面。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-ghes-pending.png)

1. 如果出现提示，请在 GitHub 企业登录页面上使用您的 GitHub企业凭据登录。

1. 在**创建 GitHub 应用程序**页面上，为您的应用程序选择一个名称。  
![\[显示应用创建页面的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-ghes-app-name.png)

1. 在 GitHub 授权页面上，选择**授权**<app-name>。  
![\[显示应用程序授权页面的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-ghes-app-authorize.png)

1. 在应用程序安装页面上，有一条消息显示连接器应用程序已准备好安装。如果您有多个组织，系统可能会提示您选择要安装该应用程序的组织。

   选择要安装应用程序的存储库设置。选择**安装**。  
![\[显示应用程序授权页面的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-ghes-app-install.png)

1. 连接页面显示已创建的连接处于 **Available (可用)** 状态。

# 创建与 GitHub 企业服务器 (CLI) 的连接
<a name="connections-create-gheserver-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 来创建连接。

为此，请使用 **create-host** 和 **create-connection** 命令。

**重要**  
默认情况下，通过 AWS CLI 或创建的连接 AWS CloudFormation 处于`PENDING`状态。使用 CLI 或创建连接后 CloudFormation，使用控制台编辑连接以使其处于状态`AVAILABLE`。

**步骤 1：为 GitHub 企业服务器创建主机 (CLI)**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-host**命令，`--provider-endpoint`为您的连接指定`--name``--provider-type`、和。在此示例中，第三方提供程序名称为 `GitHubEnterpriseServer`，终端节点为 `my-instance.dev`。

   ```
   aws codeconnections create-host --name MyHost --provider-type GitHubEnterpriseServer --provider-endpoint "https://my-instance.dev"
   ```

   如果成功，该命令将返回类似以下内容的主机 Amazon 资源名称（ARN）信息。

   ```
   {
       "HostArn": "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605"
   }
   ```

   完成此步骤后，主机处于 `PENDING` 状态。

1. 使用控制台完成主机设置并将主机变为 `Available` 状态。有关更多信息，请参阅 [设置待处理的主机](connections-host-setup.md)。

**步骤 2：在控制台中设置待处理的主机**

1. 登录 AWS 管理控制台 并打开开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用控制台完成主机设置并将主机变为 `Available` 状态。请参阅[设置待处理的主机](connections-host-setup.md)。

**步骤 3：为 GitHub 企业服务器创建连接 (CLI)**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-connection**命令，`--connection-name`为您的连接指定`--host-arn`和。

   ```
   aws codeconnections create-connection --host-arn arn:aws:codeconnections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection
   ```

   如果成功，该命令将返回类似以下内容的连接 ARN 信息。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad"
   }
   ```

1. 使用控制台设置待处理的连接。有关更多信息，请参阅 [更新挂起的连接](connections-update.md)。

**步骤 4：在控制台中完成与 GitHub 企业服务器的连接**

1. 登录 AWS 管理控制台 并打开开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用控制台设置待处理的连接，并将连接移到 `Available` 状态。有关更多信息，请参阅 [更新挂起的连接](connections-update.md)。

# 创建与的连接 GitLab
<a name="connections-create-gitlab"></a>

您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 来创建与 gitlab.com 上托管的存储库的连接。

**注意**  
在中授权安装此连接 GitLab，即表示您授予我们的服务权限以处理您的数据，并且您可以随时通过卸载应用程序来撤消这些权限。

开始前的准备工作：
+ 您必须已经使用创建了账户 GitLab。
**注意**  
连接只为用于创建并授权连接的账户提供访问权限。
**注意**  
您可以在其中拥有**所有者**角色的连接中创建连接 GitLab，然后可以将该连接与包含诸如之类的资源的存储库一起使用 CodePipeline。对于群组中的仓库，您无需成为群组拥有者。

**Topics**
+ [创建与 GitLab （控制台）的连接](#connections-create-gitlab-console)
+ [创建与 GitLab (CLI) 的连接](#connections-create-gitlab-cli)

## 创建与 GitLab （控制台）的连接
<a name="connections-create-gitlab-console"></a>

您可以使用控制台创建连接。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

**步骤 1：创建连接**

1. 登录 AWS 管理控制台，然后打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 选择**设置**，然后选择**连接**选项卡。选择**创建连接**。

1. 要创建与 GitLab 存储库的连接，**请在 “选择提供者”** 下选择**GitLab**。在**连接名称**中，输入要创建的连接的名称。选择 **Connect t GitLab** o。  
![\[显示所选连接选项的控制台屏幕截图 GitLab。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-gitlab.png)

1.  GitLab 显示的登录页面时，使用您的凭据登录，然后选择**登录。**

1. 将显示一个授权页面，其中包含一条消息，请求授权连接访问您的 GitLab 账户。

   选择**授权**。  
![\[屏幕截图显示了授权您的 GitLab 账户连接的消息。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/gitlab-authorization.png)

1. 浏览器返回到连接控制台页面。在 “**创建 GitLab 连接**” 下，新连接显示在 “**连接名称”** 中。

1. 选择 **Connect t GitLab** o。

   成功创建连接后，将显示成功横幅。连接详细信息显示在**连接设置**页面上。

## 创建与 GitLab (CLI) 的连接
<a name="connections-create-gitlab-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 来创建连接。

为此，请使用 **create-connection** 命令。

**重要**  
默认情况下，通过 AWS CLI 或创建的连接 AWS CloudFormation 处于`PENDING`状态。使用 CLI 或创建连接后 CloudFormation，使用控制台编辑连接以使其处于状态`AVAILABLE`。

**要创建与的连接 GitLab**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-connection**命令，`--connection-name`为您的连接指定`--provider-type`和。在此示例中，第三方提供方名称为 `GitLab`，指定的连接名称为 `MyConnection`。

   ```
   aws codeconnections create-connection --provider-type GitLab --connection-name MyConnection
   ```

   如果成功，该命令将返回类似以下内容的连接 ARN 信息。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用控制台完成连接。有关更多信息，请参阅 [更新挂起的连接](connections-update.md)。

# 创建与 GitLab 自我管理的连接
<a name="connections-create-gitlab-managed"></a>

您可以使用自行管理安装为 GitLab 企业版或 GitLab 社区版创建连接。

您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 创建用于 GitLab 自我管理的连接和主机。

**注意**  
通过在 GitLab 自我管理模式下授权此连接应用程序，即表示您授予我们的服务权限以处理您的数据，并且您可以随时通过卸载该应用程序来撤消这些权限。

在创建 GitLab 自我管理连接之前，必须创建用于连接的主机，详见以下步骤。有关已安装提供程序的主机创建工作流程的概述，请参阅[创建或更新主机的工作流程](welcome-hosts-workflow.md)。

（可选）您可以为主机配置 VPC。有关主机资源的网络和 VPC 配置的更多信息，请参阅[（可选）先决条件：您的连接的网络或 Amazon VPC 配置](connections-host-create.md#connections-create-host-prereq)和[对主机的 VPC 配置进行故障排查](troubleshooting-connections.md#troubleshooting-connections-host-vpc)中的 VPC 先决条件。

开始前的准备工作：
+ 您必须已经使用自己管理安装的 GitLab 企业版或 GitLab 社区版创建了帐户， GitLab 并且安装了企业版或社区版。有关更多信息，请参阅[https://docs.gitlab.com/ee/订阅/self\$1managed/](https://docs.gitlab.com/ee/subscriptions/self_managed/)。
**注意**  
连接只为用于创建并授权连接的账户提供访问权限。
**注意**  
您可以创建与拥有**所有者**角色的存储库的连接 GitLab，然后该连接可以与资源一起使用，例如 CodePipeline。对于群组中的仓库，您无需成为群组拥有者。
+ 您必须已经创建了仅具有以下范围缩小权限的 GitLab 个人访问令牌 (PAT)：，。`api` `admin_mode`有关更多信息，请参阅 [https://docs.gitlab.com/ee/user/profile/personal\$1access\$1tokens.html](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)。您必须是管理员才能创建和使用 PAT。
**注意**  
您的 PAT 用于对主机进行授权，不会以其它方式存储或由连接使用。要设置主机，您可以创建一个临时 PAT，然后在设置主机之后，可以删除 PAT。

**注意**  
对于使用 GitHub 企业服务器或 GitLab 自行管理的组织，您不会传递可用的主机。您要为组织中的每个连接创建一个新主机，并且必须确保在该主机的网络字段（VPC ID IDs、子网和安全组 IDs）中输入相同的信息。有关更多信息，请参阅 [已安装的提供商支持组织的连接和主机设置](troubleshooting-connections.md#troubleshooting-organization-host)。

**Topics**
+ [创建与 GitLab 自我管理（控制台）的连接](#connections-create-gitlab-managed-console)
+ [创建与 GitLab 自我管理 (CLI) 的连接](#connections-create-gitlab-managed-cli)

## 创建与 GitLab 自我管理（控制台）的连接
<a name="connections-create-gitlab-managed-console"></a>

使用这些步骤在控制台中创建主机和 GitLab 自我管理连接。有关在 VPC 中设置主机的注意事项，请参阅[（可选）先决条件：您的连接的网络或 Amazon VPC 配置](connections-host-create.md#connections-create-host-prereq)。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

**注意**  
您可以为单个 GitLab 自管理安装创建主机，然后可以管理与该主机的一个或多个 GitLab 自管理连接。

**步骤 1：创建主机**

1. 登录 AWS 管理控制台，然后打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 在 **Host (主机)** 选项卡上，选择 **Create host (创建主机)**。

1. 在 **Host name (产品名称)** 中，输入您要用于主机的名称。

1. 在**选择提供商**中，选择**GitLab自我管理**。

1. 在 **URL** 中，输入安装提供程序的基础设施的终端节点。

1. 如果您的服务器是在 Amazon VPC 中配置的，并且您想要连接 VPC，请选择 **Use a VPC (使用 VPC)**。否则，请选择 **No VPC (无 VPC)**。

1. （可选）如果您已将主机启动到 Amazon VPC 中，并且想要连接 VPC，请选择**使用 VPC** 并完成以下操作。
**注意**  
对于使用 GitHub 企业服务器或 GitLab 自行管理的组织，您不会传递可用的主机。您要为组织中的每个连接创建一个新主机，并且必须确保在该主机的网络字段（VPC ID IDs、子网和安全组 IDs）中输入相同的信息。有关更多信息，请参阅 [已安装的提供商支持组织的连接和主机设置](troubleshooting-connections.md#troubleshooting-organization-host)。

   1. 在 **VPC ID** 中，选择您的 VPC ID。确保为基础设施选择安装主机的 VPC，或选择通过 VPN 或 Direct Connect 访问实例的 VPC。

   1. 如果您配置了私有 VPC，并且您已将主机配置为使用非公有证书颁发机构执行 TLS 验证，请在 **TLS 证书**中输入证书 ID。TLS 证书值为证书的公有密钥。

1. 选择 **Create host (创建主机)**。

1. 显示主机详细信息页面后，主机状态随着主机的创建而发生变化。
**注意**  
如果您的主机设置包括 VPC 配置，请等待几分钟时间来预置主机网络组件。

   等待您的主机进入 **Pending (待处理)** 状态，然后完成安装。有关更多信息，请参阅 [设置待处理的主机](connections-host-setup.md)。  
![\[控制台屏幕截图显示了主机处于待处理状态的 GitLab 自行管理的主机详细信息。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-glsm-host.png)

**步骤 2：设置待处理的主机**

1. 选择**设置主机**。

1. 将显示 *host\$1name* “**设置**” 页面。在**提供个人访问令牌**中，仅向你的 GitLab PAT 提供以下限定范围的权限：和。`api` `admin_mode`
**注意**  
只有管理员才能创建和使用 PAT。  
![\[控制台屏幕截图显示了新主机的 GitLab 个人访问令牌条目\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-glsm-pat.png)

1. 成功注册主机后，将显示主机详细信息页面，并显示主机状态为 **Available (可用)**。  
![\[控制台屏幕截图显示了新主机的可用状态\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-glsm-host-available.png)

**步骤 3：创建连接**

1. 登录 AWS 管理控制台，然后打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 选择**设置**，然后选择**连接**选项卡。选择**创建连接**。

1. 要创建与 GitLab 存储库的连接，**请在 “选择提供商”** 下，选择 “**GitLab 自我管理**”。在**连接名称**中，输入要创建的连接的名称。  
![\[控制台屏幕截图显示了为 GitLab自行管理选择的连接选项。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-glsm.png)

1. 在 **URL** 中，输入服务器的终端节点。

1. 如果您已将服务器启动到 Amazon VPC 中，并且想要连接 VPC，请选择 **Use a VPC (使用 VPC)** 并完成以下操作。

   1. 在 **VPC ID** 中，选择您的 VPC ID。确保为基础设施选择安装主机的 VPC，或选择通过 VPN 或 Direct Connect 访问主机的 VPC。

   1. 在 **Subnet ID (子网 ID)** 下，选择 **Add (添加)**。在字段中，选择要用于主机的子网 ID。您可以选择最多 10 个子网。

      确保为基础设施选择安装主机的子网，或选择通过 VPN 或 Direct Connect 访问已安装主机的子网。

   1. 在 “**安全组**” 下 IDs，选择 “**添加**”。在字段中，选择要用于主机的安全组。您最多可以选择 10 个安全组。

      确保为基础设施选择安装主机的安全组，或选择通过 VPN 或 Direct Connect 访问已安装主机的安全组。

   1. 如果您配置了私有 VPC，并且您已将主机配置为使用非公有证书颁发机构执行 TLS 验证，请在 **TLS 证书**中输入证书 ID。TLS 证书值应该是证书的公有密钥。

1. 选择 “**Connect 以进行 GitLab 自我管理**”。创建的连接显示为**待处理**状态。将使用您提供的服务器信息为连接创建一个主机资源。对于主机名，将使用 URL。

1. 选择**更新待处理的连接**。

1.  GitLab 显示的登录页面时，使用您的凭据登录，然后选择**登录。**

1. 将显示一个授权页面，其中包含一条消息，请求授权连接访问您的 GitLab 账户。

   选择**授权**。

1. 浏览器返回到连接控制台页面。在 “**创建 GitLab 连接**” 下，新连接显示在 “**连接名称”** 中。

1. 选择 “**Connect 以进行 GitLab 自我管理**”。

   成功创建连接后，将显示成功横幅。连接详细信息显示在**连接设置**页面上。

## 创建与 GitLab 自我管理 (CLI) 的连接
<a name="connections-create-gitlab-managed-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 创建用于 GitLab自行管理的主机和连接。

为此，请使用 **create-host** 和 **create-connection** 命令。

**重要**  
默认情况下，通过 AWS CLI 或创建的连接 AWS CloudFormation 处于`PENDING`状态。使用 CLI 或创建连接后 CloudFormation，使用控制台编辑连接以使其处于状态`AVAILABLE`。

**步骤 1：创建用于 GitLab 自行管理的主机 (CLI)**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-host**命令，`--provider-endpoint`为您的连接指定`--name``--provider-type`、和。在此示例中，第三方提供程序名称为 `GitLabSelfManaged`，终端节点为 `my-instance.dev`。

   ```
   aws codeconnections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"
   ```

   如果成功，该命令将返回类似以下内容的主机 Amazon 资源名称（ARN）信息。

   ```
   {
       "HostArn": "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605"
   }
   ```

   完成此步骤后，主机处于 `PENDING` 状态。

1. 在以下步骤中，使用控制台完成主机设置并将主机移到 `Available` 状态。

**步骤 2：在控制台中设置待处理的主机**

1. 登录 AWS 管理控制台 并打开开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用控制台完成主机设置并将主机变为 `Available` 状态。请参阅[设置待处理的主机](connections-host-setup.md)。

**步骤 3：为 GitLab 自行管理 (CLI) 创建连接**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-connection**命令，`--connection-name`为您的连接指定`--host-arn`和。

   ```
   aws codeconnections create-connection --host-arn arn:aws:codeconnections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection
   ```

   如果成功，该命令将返回类似以下内容的连接 ARN 信息。

   ```
   {
       "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad"
   }
   ```

1. 在以下步骤中，使用控制台设置待处理的连接。

**步骤 4：在控制台中完成 GitLab 自我管理的连接**

1. 登录 AWS 管理控制台 并打开开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 使用控制台设置待处理的连接，并将连接移到 `Available` 状态。有关更多信息，请参阅 [更新挂起的连接](connections-update.md)。

# 更新挂起的连接
<a name="connections-update"></a>

默认情况下，通过 AWS Command Line Interface (AWS CLI) 或创建的连接 AWS CloudFormation 处于`PENDING`状态。使用 AWS CLI 或创建连接后 CloudFormation，使用控制台更新连接以使其处于状态`AVAILABLE`。

**注意**  
您必须使用控制台更新待处理的连接。您无法使用 AWS CLI更新待处理的连接。

首次使用控制台向第三方提供商添加新连接时，必须使用与您的连接关联的安装完成与第三方提供商的 OAuth 握手。

您可以使用开发人员工具控制台完成挂起的连接。

**完成连接**

1. 打开 AWS 开发者工具控制台，网址为[https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections)。

1. 选择**设置 > 连接**。

   将显示与您的 AWS 账户关联的所有连接的名称。

1. 在**名称**中，选择要更新的挂起连接的名称。

   当您选择具有 **Pending (待处理)** 状态的连接时，**Update a pending connection (更新待处理的连接)** 将变为可用。

1. 选择 **Update a pending connection (更新待处理的连接)**。

1. 在 **Connect to Bitbucket (连接到 Bitbucket)** 页面上的 **Connection name (连接名称)** 中，验证连接的名称。

   在 **Bitbucket apps (Bitbucket 应用程序)** 下，选择一个应用程序安装或选择 **Install a new app (安装新应用程序)** 来创建一个应用程序安装。  
![\[显示“Connect to Bitbucket (连接到 Bitbucket)”对话框以及安装新应用程序按钮的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/newreview-source-wizard-bitbucket.png)

1. 在应用程序安装页面上，一条消息显示该 AWS CodeStar 应用程序正在尝试连接到您的 Bitbucket 帐户。选择**授予访问权限**。  
![\[显示 AWS CodeStar 请求访问权限的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/bitbucket-access-popup.png)

1. 将显示新安装的连接 ID。选择**完成连接**。

# 列出连接
<a name="connections-list"></a>

您可以使用开发人员工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **list-connections** 命令,来查看您账户中的连接列表。

## 列出连接（控制台）
<a name="connections-list-console"></a>

**列出连接**

1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Settings > Connections (设置 > 连接)**。

1. 查看连接的名称、状态和 ARN。

## 列出连接 (CLI)
<a name="connections-list-cli"></a>

您可以使用列出您与第三方代码存储库的连接。 AWS CLI 对于与主机资源关联的连接（例如与 En GitHub terprise Server 的连接），输出还会返回主机 ARN。

为此，请使用 **list-connections** 命令。

**列出连接**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符 (Windows)，然后使用运行命令。 AWS CLI **list-connections**

  ```
  aws codeconnections list-connections --provider-type Bitbucket
  --max-results 5 --next-token: next-token
  ```

  此命令将返回以下输出。

  ```
  {
       "Connections": [
           {
               "ConnectionName": "my-connection",
               "ProviderType": "Bitbucket",
               "Status": "PENDING",
               "ARN": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f",
               "OwnerAccountId": "account_id"
           },
           {
               "ConnectionName": "my-other-connection",
               "ProviderType": "Bitbucket",
               "Status": "AVAILABLE",
               "ARN": "arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f",
               "OwnerAccountId": "account_id"
            },
        ],
       "NextToken": "next-token"
  }
  ```

# 删除连接
<a name="connections-delete"></a>

您可以使用开发工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **delete-connection** 命令来删除连接。

**Topics**
+ [删除连接（控制台）](#connections-delete-console)
+ [删除连接 (CLI)](#connections-delete-cli)

## 删除连接（控制台）
<a name="connections-delete-console"></a>

**删除连接**



1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Settings > Connections (设置 > 连接)**。

1. 在**连接名称**中，选择要删除的连接的名称。

1. 选择 **Delete**。

1. 在字段中输入 **delete** 以确认，然后选择**删除**。
**重要**  
并且无法撤消。

## 删除连接 (CLI)
<a name="connections-delete-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 删除连接。

为此，请使用 **delete-connection** 命令。

**重要**  
运行该命令后，将删除连接。不显示任何确认对话框。您可以创建新连接，但不能重复使用 Amazon 资源名称 (ARN)。

**删除连接**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行**delete-connection**命令，指定要删除的连接的 ARN。 AWS CLI 

  ```
  aws codeconnections delete-connection --connection-arn arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f
  ```

  该命令不返回任何内容。

# 为连接资源添加标签
<a name="connections-tag"></a>

*标签*是您或 AWS 分配给 AWS 资源的自定义属性标签。每个 AWS 标签分为两部分：
+ *标签键*（例如，`CostCenter`、`Environment` 或 `Project`）。标签密钥区分大小写。
+ 一个称为*标签值*的可选字段（例如，`111122223333`、`Production` 或团队名称）。省略标签值与使用空字符串效果相同。与标签键一样，标签值区分大小写。

这些被统称为*键/值对*。

您可以使用控制台或 CLI 来标记资源。

您可以在 AWS 中标记以下资源类型 CodeConnections：
+ Connections
+ 主机

这些步骤假设您已经安装了的最新版本 AWS CLI 或已更新到当前版本。有关更多信息，请参阅《AWS Command Line Interface 用户指南》**中的[安装 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。

除了使用标签识别、组织和跟踪您的资源外，您还可以在 AWS Identity and Access Management (IAM) 策略中使用标签来帮助控制谁可以查看您的资源并与之交互。有关基于标签的访问策略示例，请参阅[使用标签控制对 AWS CodeConnections 资源的访问权限](connections-tag-based-access-control.md)。

**Topics**
+ [标记资源（控制台）](#connections-tag-console)
+ [标签资源 (CLI)](#connections-tag-cli)

## 标记资源（控制台）
<a name="connections-tag-console"></a>

您可以使用控制台添加、更新或删除连接资源上的标签。

**Topics**
+ [为连接资源添加标签（控制台）](#connections-tag-console-add)
+ [查看连接资源的标签（控制台）](#connections-tag-console-view)
+ [编辑连接资源的标签（控制台）](#connections-tag-console-edit)
+ [从连接资源中删除标签（控制台）](#connections-tag-console-remove)

### 为连接资源添加标签（控制台）
<a name="connections-tag-console-add"></a>

您可以使用控制台向现有连接或主机添加标签。

**注意**  
当您为已安装的提供商（例如 En GitHub terprise Server）创建连接并且还为您创建主机资源时，创建期间的标签只会添加到连接中。如果要将主机重用于新连接，则可以单独标记主机。如果您要将标签添加到主机，请使用此处的步骤。

****为连接添加标签****

1. 登录到控制台。从导航窗格中，选择**设置**。

1. 在 **Settings (设置)** 下，选择 **Connections (连接)**。选择**连接**选项卡。

1. 选择要编辑的连接。此时将显示连接设置页面。

1. 在 **Connection tags (连接标记)** 下，选择 **Edit (编辑)**。**Edit Connection tags (编辑连接标签)** 页面随即显示。

1. 在**键**和**值**字段中，输入您要添加的每组标签的键/值对。（**值**字段为可选项。） 例如，在**键**中，输入 **Project**。在**值**中，输入 **ProjectA**。  
![\[Connection tags interface with fields for Key and Value, and buttons to Add tag and Remove tag.\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-tags.png)

1. （可选）选择**添加标签**以添加多行并输入多个标签。

1. 选择 **Submit (提交)**。标签在连接设置下列出。

****为主机添加标签****

1. 登录到控制台。从导航窗格中，选择**设置**。

1. 在 **Settings (设置)** 下，选择 **Connections (连接)**。选择 **Host (主机)** 选项卡。

1. 选择要编辑的主机。此时将显示主机设置页面。

1. 在 **Host tags (主机标签)** 下，选择 **Edit (编辑)**。**Host tags (主机标签)** 页面随即显示。

1. 在**键**和**值**字段中，输入您要添加的每组标签的键/值对。（**值**字段为可选项。） 例如，在**键**中，输入 **Project**。在**值**中，输入 **ProjectA**。  
![\[Edit Host tags interface with fields for Key and Value, and buttons to Add tag and Remove tag.\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/hosts-tag.png)

1. （可选）选择 **Add tag (添加标签)** 以添加多行并为主机输入多个标签。

1. 选择**提交**。标签在主机设置下列出。

### 查看连接资源的标签（控制台）
<a name="connections-tag-console-view"></a>

您可以使用控制台查看现有资源的标签。

**要查看连接的标签**

1. 登录到控制台。从导航窗格中，选择**设置**。

1. 在 **Settings (设置)** 下，选择 **Connections (连接)**。选择**连接**选项卡。

1. 选择要查看的连接。此时将显示连接设置页面。

1. 在 **Connection tags (连接标签)** 下，在 **Key (键)** 和 **Value (值)** 列下查看连接的标签。

**查看主机的标签**

1. 登录到控制台。从导航窗格中，选择**设置**。

1. 在 **Settings (设置)** 下，选择 **Connections (连接)**。选择 **Host (主机)** 选项卡。

1. 选择要查看的主机。

1. 在 **Host tags (主机标签)** 下，在 **Key (键)** 和 **Value (值)** 列下查看主机的标签。

### 编辑连接资源的标签（控制台）
<a name="connections-tag-console-edit"></a>

您可以使用控制台来编辑已添加到连接资源的标签。

**编辑连接的标签**

1. 登录到控制台。从导航窗格中，选择**设置**。

1. 在 **Settings (设置)** 下，选择 **Connections (连接)**。选择**连接**选项卡。

1. 选择要编辑的连接。此时将显示连接设置页面。

1. 在 **Connection tags (连接标记)** 下，选择 **Edit (编辑)**。**Connection tags (连接标记)** 页面随即显示。

1. 在**键**和**值**字段中，根据需要更新每个字段的值。例如，对于 **Project** 键，在**值**中，将 **ProjectA** 更改为 **ProjectB**。

1. 选择 **Submit (提交)**。

**编辑主机的标签**

1. 登录到控制台。从导航窗格中，选择**设置**。

1. 在 **Settings (设置)** 下，选择 **Connections (连接)**。选择 **Host (主机)** 选项卡。

1. 选择要编辑的主机。此时将显示主机设置页面。

1. 在 **Host tags (主机标签)** 下，选择 **Edit (编辑)**。**Host tags (主机标签)** 页面随即显示。

1. 在**键**和**值**字段中，根据需要更新每个字段的值。例如，对于 **Project** 键，在**值**中，将 **ProjectA** 更改为 **ProjectB**。

1. 选择 **Submit (提交)**。

### 从连接资源中删除标签（控制台）
<a name="connections-tag-console-remove"></a>

您可以使用控制台从连接资源中删除标签。当您移除关联资源的标签时，对应标签会被删除。

**删除连接的标签**

1. 登录到控制台。从导航窗格中，选择**设置**。

1. 在 **Settings (设置)** 下，选择 **Connections (连接)**。选择**连接**选项卡。

1. 选择要编辑的连接。此时将显示连接设置页面。

1. 在 **Connection tags (连接标记)** 下，选择 **Edit (编辑)**。**Connection tags (连接标记)** 页面随即显示。

1. 接下来，对于您要删除的每个标签的键和值，选择**删除标签**。

1. 选择**提交**。

**删除主机的标签**

1. 登录到控制台。从导航窗格中，选择**设置**。

1. 在 **Settings (设置)** 下，选择 **Connections (连接)**。选择 **Host (主机)** 选项卡。

1. 选择要编辑的主机。此时将显示主机设置页面。

1. 在 **Host tags (主机标签)** 下，选择 **Edit (编辑)**。**Host tags (主机标签)** 页面随即显示。

1. 接下来，对于您要删除的每个标签的键和值，选择**删除标签**。

1. 选择**提交**。

## 标签资源 (CLI)
<a name="connections-tag-cli"></a>

您可以使用 CLI 在连接资源上查看、添加、更新或删除标签。

**Topics**
+ [向连接资源添加标签 (CLI)](#connections-tag-add)
+ [查看连接资源的标签 (CLI)](#connections-tag-view)
+ [编辑连接资源的标签 (CLI)](#connections-tag-edit)
+ [从连接资源中删除标签 (CLI)](#connections-tag-delete)

### 向连接资源添加标签 (CLI)
<a name="connections-tag-add"></a>

您可以使用 AWS CLI 来标记连接中的资源。

在终端或命令行运行 **tag-resource** 命令，指定要为其添加标签的资源的 Amazon 资源名称 (ARN)，以及要添加的标签的键和值。您可以添加多个标签。

****为连接添加标签****

1. 为您的资源获取 ARN。使用显示在 [列出连接](connections-list.md) 的 **list-connections** 命令来获取连接 ARN。

1. 在终端或命令行中，运行 **tag-resource** 命令。

   例如，使用以下命令来标记带有两个标签的连接，一个标签键以标签值命名 *Project**ProjectA*，一个标签键名为*ReadOnly*的标签值为*true*。

   ```
   aws codestar-connections tag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f --tags Key=Project,Value=ProjectA Key=IscontainerBased,Value=true
   ```

   如果成功，该命令不返回任何内容。

****为主机添加标签****

1. 为您的资源获取 ARN。使用显示在 [列出主机](connections-host-list.md) 的 **list-hosts** 命令来获取主机 ARN。

1. 在终端或命令行中，运行 **tag-resource** 命令。

   例如，使用以下命令使用两个标签来标记主机，一个标签键*Project*以标签值命名*ProjectA*，一个标签键名为*IscontainerBased*的标签值为*true*。

   ```
   aws codestar-connections tag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605 --tags Key=Project,Value=ProjectA Key=IscontainerBased,Value=true
   ```

   如果成功，该命令不返回任何内容。

### 查看连接资源的标签 (CLI)
<a name="connections-tag-view"></a>

您可以使用 AWS CLI 来查看连接资源的 AWS 标签。如果尚未添加标签，则返回的列表为空。使用 **list-tags-for-resource** 命令查看已添加到连接或主机的标签。

****查看连接的标签****

1. 为您的资源获取 ARN。使用显示在 [列出连接](connections-list.md) 的 **list-connections** 命令来获取连接 ARN。

1. 在终端或命令行中，运行 **list-tags-for-resource** 命令。例如，使用以下命令可查看连接的标签键和标签值列表。

   ```
   aws codestar-connections list-tags-for-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f
   ```

   此命令返回与资源关联的标签。此示例显示了为连接返回的两个“键-值”对。

   ```
   {
       "Tags": [
           {
               "Key": "Project",
               "Value": "ProjectA"
           },
           {
               "Key": "ReadOnly",
               "Value": "true"
           }
       ]
   }
   ```

****查看主机的标签****

1. 为您的资源获取 ARN。使用显示在 [列出主机](connections-host-list.md) 的 **list-hosts** 命令来获取主机 ARN。

1. 在终端或命令行中，运行 **list-tags-for-resource** 命令。例如，使用以下命令可查看主机的标签键和标签值列表。

   ```
   aws codestar-connections list-tags-for-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605
   ```

   此命令返回与资源关联的标签。此示例显示了为主机返回的两个“键-值”对。

   ```
   {
       "Tags": [
           {
               "Key": "IscontainerBased",
               "Value": "true"
           },
           {
               "Key": "Project",
               "Value": "ProjectA"
           }
       ]
   }
   ```

### 编辑连接资源的标签 (CLI)
<a name="connections-tag-edit"></a>

您可以使用 AWS CLI 来编辑资源的标签。您可以更改现有键的值或添加另一个键。

在终端或命令行运行 **tag-resource** 命令，指定要为其更新标签的资源的 ARN，并指定要更新的标签键和标签值。

编辑标签时，任何未指定的标签键都将被保留，而具有相同键和新值的任何标签键都将被更新。通过编辑命令添加的新键将作为新的键-值对添加。

****编辑连接的标签****

1. 为您的资源获取 ARN。使用显示在 [列出连接](connections-list.md) 的 **list-connections** 命令来获取连接 ARN。

1. 在终端或命令行中，运行 **tag-resource** 命令。

   在此示例中，键 `Project` 的值将更改为 `ProjectB`。

   ```
   aws codestar-connections tag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f --tags Key=Project,Value=ProjectB
   ```

   如果成功，该命令不返回任何内容。要验证与连接关联的标签，请运行 **list-tags-for-resource** 命令。

****编辑主机的标签****

1. 为您的资源获取 ARN。使用显示在 [列出主机](connections-host-list.md) 的 **list-hosts** 命令来获取主机 ARN。

1. 在终端或命令行中，运行 **tag-resource** 命令。

   在此示例中，键 `Project` 的值将更改为 `ProjectB`。

   ```
   aws codestar-connections tag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605 --tags Key=Project,Value=ProjectB
   ```

   如果成功，该命令不返回任何内容。要验证与主机关联的标签，请运行 **list-tags-for-resource** 命令。

### 从连接资源中删除标签 (CLI)
<a name="connections-tag-delete"></a>

按照以下步骤使用 AWS CLI 从资源中移除标签。当您移除关联资源的标签时，对应标签会被删除。

**注意**  
如果删除连接资源，则会从删除的资源中删除所有标签关联。在删除连接资源之前，无需删除标签。

在终端或命令行运行 **untag-resource** 命令，指定要从中删除标签的资源的 ARN 以及要删除的标签的标签键。例如，要使用标签键*Project*和删除连接上的多个标签*ReadOnly*，请使用以下命令。

```
aws codestar-connections untag-resource --resource-arn arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f --tag-keys Project ReadOnly
```

如果成功，该命令不返回任何内容。要验证与资源关联的标签，请运行 **list-tags-for-resource** 命令。输出将显示所有已删除的标签。

```
{
    "Tags": []
}
```

# 查看连接详细信息
<a name="connections-view-details"></a>

您可以使用开发工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **get-connection** 命令来查看连接的详细信息。要使用 AWS CLI，您必须已经安装了的最新版本 AWS CLI 或已更新到当前版本。有关更多信息，请参阅《AWS Command Line Interface 用户指南》**中的[安装 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。

**要查看连接（控制台）**

1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Settings > Connections (设置 > 连接)**。

1. 选择要查看的连接旁边的按钮，然后选择 **View details (查看详细信息)**。

1. 此时将显示以下连接信息：
   + 连接名称。
   + 连接的提供程序类型。
   + 连接状态。
   + 连接 ARN。
   + 如果连接是为已安装的提供商（例如 En GitHub terprise Server）创建的，则为与该连接关联的主机信息。
   + 如果连接是为已安装的提供商（例如 En GitHub terprise Server）创建的，则需要与该连接的主机关联的端点信息。

1. 如果连接位于 **Pending (待处理)** 状态，要完成连接，请选择 **Update pending connection (更新待处理的连接)**。有关更多信息，请参阅[更新待处理的连接](connections-update.md)。

**要查看连接 (CLI)**
+ 在终端或命令行中，运行 **get-connection** 命令。例如，使用以下命令可查看 ARN 值为 `arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f` 的连接的详细信息。

  ```
  aws codeconnections get-connection --connection-arn arn:aws:codeconnections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f
  ```

  如果成功，则此命令会返回连接详细信息。

  Bitbucket 连接的输出示例：

  ```
  {
      "Connection": {
          "ConnectionName": "MyConnection",
          "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/cdacd948-EXAMPLE",
          "ProviderType": "Bitbucket",
          "OwnerAccountId": "account_id",
          "ConnectionStatus": "AVAILABLE"
      }
  }
  ```

   GitHub 连接的输出示例：

  ```
  {
      "Connection": {
          "ConnectionName": "MyGitHubConnection",
          "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/ebcd4a13-EXAMPLE",
          "ProviderType": "GitHub",
          "OwnerAccountId": "account_id",
          "ConnectionStatus": "AVAILABLE"
      }
  }
  ```

   GitHub 企业服务器连接的输出示例：

  ```
  {
      "Connection": {
          "ConnectionName": "MyConnection",
          "ConnectionArn": "arn:aws:codeconnections:us-west-2:account_id:connection/2d178fb9-EXAMPLE",
          "ProviderType": "GitHubEnterpriseServer",
          "OwnerAccountId": "account_id",
          "ConnectionStatus": "PENDING",
          "HostArn": "arn:aws:ccodeconnections:us-west-2:account_id:host/sdfsdf-EXAMPLE"
      }
  }
  ```

# 与共享连接 AWS 账户
<a name="connections-share"></a>

您可以使用资源共享功能与其他 AWS RAM 人共享现有连接， AWS 账户 也可以与组织中的账户共享现有连接。您可以将共享连接与您管理 AWS 的资源用于第三方源连接，例如中 CodePipeline。

**重要**  
`codestar-connections `资源不支持连接共享。只有`codeconnections`资源才支持此功能。

开始前的准备工作：
+ 您必须已经与您的建立了连接 AWS 账户。
+ 您必须启用资源共享。
+ 您必须配置所需的权限。有关更多信息，请参阅 [支持的连接共享权限](security-iam.md#permissions-reference-connections-sharing)。

**注意**  
要共享连接，您必须是组织所有者或存储库所有者（如果不在组织之下）。您与之共享的账户也需要存储库的权限。

**Topics**
+ [共享连接（控制台）](#connections-share-console)
+ [共享连接 (CLI)](#connections-share-cli)
+ [查看共享连接（控制台）](#connections-view-console)
+ [查看共享连接 (CLI)](#connections-view-cli)

## 共享连接（控制台）
<a name="connections-share-console"></a>

您可以使用控制台创建共享连接资源。

1. 登录到 AWS 管理控制台。

   在 AWS RAM 控制台的 “**[我共**享：共享资源” 页面上选择 “创建**资源共享](https://console.aws.amazon.com/ram/home#OwnedResources:)**”。

1. 由于 AWS RAM 资源共享存在于特定 AWS 区域中，因此请从控制台右上角的下拉列表中选择相应的 AWS 区域。要创建包含全球资源的资源共享，必须将 AWS 区域设置为美国东部（弗吉尼亚北部），

   有关共享全球资源的更多信息，请参阅[共享区域资源与全球资源的比较](https://docs.aws.amazon.com/ram/latest/userguide/working-with-regional-vs-global.html)。

1. 在创建页面的**名称**中，输入资源共享的名称。在 “**资源**” 下，选择 “**代码连接**”。  
![\[\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-share-create.png)

1. 选择您的连接资源并分配要与之共享的委托人。

1. 选择**创建**。

## 共享连接 (CLI)
<a name="connections-share-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 与其他账户共享现有连接，并查看您拥有或已与您共享的连接。

为此，请使用**create-resource-share**和的`accept-resource-share-invitation `命令 AWS RAM。

**共享连接**

1. 使用将共享连接的帐户登录。

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-resource-share**命令，`--principals`为您的连接共享指定`--name``--resource-arns`、和。在此示例中，名称为`my-shared-resource`，指定的连接名称位于资源 ARN `MyConnection` 中。在中`principals`，提供您要与之共享的一个或多个目标账户。

   ```
   aws ram create-resource-share --name my-shared-resource --resource-arns connection_ARN --principals destination_account
   ```

   如果成功，该命令将返回类似以下内容的连接 ARN 信息。

   ```
   {
       "resourceShare": {
           "resourceShareArn": "arn:aws:ram:us-west-2:111111111111:resource-share/4476c27d-8feb-4b21-afe9-7de23EXAMPLE",
           "name": "MyNewResourceShare",
           "owningAccountId": "111111111111",
           "allowExternalPrincipals": true,
           "status": "ACTIVE",
           "creationTime": 1634586271.302,
           "lastUpdatedTime": 1634586271.302
       }
   }
   ```

1. 可以接受共享请求，详见下一步操作。

**验证并接受与目标账户共享的连接**

对于属于同一组织且在 Organizations 中启用资源共享的目标帐户，以下过程是可选的。

1. 使用将收到邀请的目标账户登录。

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**get-resource-share-invitations**命令。

   ```
   aws ram get-resource-share-invitations
   ```

   获取资源共享邀请 ARN 以供下一步使用。

1. 运行**accept-resource-share-invitation**命令，指定`--resource-share-invitation-arn`。

   ```
   aws ram accept-resource-share-invitation --resource-share-invitation-arn invitation_ARN
   ```

   如果成功，此命令将返回以下输出。

   ```
   {
       "resourceShareInvitation": {
           "resourceShareInvitationArn": "arn:aws:ram:us-west-2:111111111111:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLE",
           "resourceShareName": "MyResourceShare",
           "resourceShareArn": "arn:aws:ram:us-west-2:111111111111:resource-share/27d09b4b-5e12-41d1-a4f2-19dedEXAMPLE",
           "senderAccountId": "111111111111",
           "receiverAccountId": "222222222222",
           "invitationTimestamp": "2021-09-22T15:07:35.620000-07:00",
           "status": "ACCEPTED"
       }
   }
   ```

## 查看共享连接（控制台）
<a name="connections-view-console"></a>

您可以使用控制台查看共享连接资源。

1. 登录到 AWS 管理控制台。

   在 AWS RAM 控制台中打开 “**[我共享：共享资源](https://console.aws.amazon.com/ram/home#OwnedResources:)**” 页面。

1. 由于 AWS RAM 资源共享存在于特定的 AWS 区域中，因此请从控制台右上角的下拉列表中选择相应的 AWS 区域。要查看包含全球资源的资源共享，您必须将 AWS 区域设置为美国东部（弗吉尼亚北部），

   有关共享全球资源的更多信息，请参阅[共享区域资源与全球资源的比较](https://docs.aws.amazon.com/ram/latest/userguide/working-with-regional-vs-global.html)。

1. 对于每个共享资源，可获得以下信息：
   + **资源 ID** - 资源的 ID。选择资源的 ID，打开新的浏览器选项卡，以便在其本机服务控制台中查看该资源。
   + **资源类型** - 资源的类型。
   + **上次共享日期** - 上次共享资源的日期。
   + **资源共享** - 包含资源的资源共享的数量。要查看资源共享列表，请选择该数字。
   + **主体** - 可以访问资源的主体数量。选择此值以查看主体。

## 查看共享连接 (CLI)
<a name="connections-view-cli"></a>

您可以使用 AWS CLI 来查看您拥有或已与您共享的连接。

为此，请使用 **get-resource-shares** 命令。

**查看共享连接**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**get-resource-shares**命令。

  ```
  aws ram get-resource-shares
  ```

  输出会返回您账户的资源共享列表。

# 使用主机
<a name="connections-hosts"></a>

要创建与已安装的提供程序类型（例如 GitHub 企业服务器）的连接，请先使用创建主机 AWS 管理控制台。主机是您创建的资源，用于表示安装提供程序的基础设施。然后使用该主机创建连接。有关更多信息，请参阅 [使用连接](connections.md)。

例如，您为您的连接创建一个主机，以便为您的提供商注册第三方应用程序以表示您的基础设施。为提供程序类型创建一个主机，然后与该提供程序类型的所有连接都使用该主机。

当您使用控制台创建与已安装的提供商类型（例如 En GitHub terprise Server）的连接时，控制台会为您创建主机资源。

**Topics**
+ [创建主机](connections-host-create.md)
+ [设置待处理的主机](connections-host-setup.md)
+ [列出主机](connections-host-list.md)
+ [编辑主机](connections-host-edit.md)
+ [删除主机](connections-host-delete.md)
+ [查看主机详细信息](connections-host-view.md)

# 创建主机
<a name="connections-host-create"></a>

您可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 来创建与安装在您的基础架构上的第三方代码存储库的连接。例如，您可能让 GitHub企业服务器作为虚拟机在 Amazon EC2 实例上运行。在创建与 GitHub 企业服务器的连接之前，需要创建用于连接的主机。

有关已安装提供程序的主机创建工作流程的概述，请参阅[创建或更新主机的工作流程](welcome-hosts-workflow.md)。

开始前的准备工作：
+ （可选）如果您想创建带有 VPC 的主机，您必须已经创建了网络或虚拟私有云（VPC）。
+ 您必须已创建实例，并且如果您计划连接 VPC，则将主机启动到您的 VPC 中。
**注意**  
每个 VPC 一次只能关联一个主机。

（可选）您可以为主机配置 VPC。有关主机资源的网络和 VPC 配置的更多信息，请参阅[（可选）先决条件：您的连接的网络或 Amazon VPC 配置](#connections-create-host-prereq)和[对主机的 VPC 配置进行故障排查](troubleshooting-connections.md#troubleshooting-connections-host-vpc)中的 VPC 先决条件。

要使用控制台创建主机以及与 GitHub 企业服务器的连接，请参见[创建您的 GitHub 企业服务器连接（控制台）](connections-create-gheserver-console.md#connections-create-gheserver-connection)。控制台将为您创建一个主机。

要使用控制台创建主机并连接到 GitLab 自行管理，请参阅[创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)。控制台将为您创建一个主机。

## （可选）先决条件：您的连接的网络或 Amazon VPC 配置
<a name="connections-create-host-prereq"></a>

如果为您的基础设施配置了网络连接，则可以跳过本节内容。

如果您的主机只能在 VPC 中访问，请在继续操作之前遵循以下 VPC 要求。

### VPC 要求
<a name="connections-create-host-prereq-vpc"></a>

您可以选择性地创建带有 VPC 的主机。以下是一般 VPC 要求，具体取决于您为安装设置的 VPC。
+ 您可以配置带有公有和私有子网的*公有* VPC。如果您没有首选的 CIDR 块或子网，您可以为 AWS 账户 使用默认 VPC。
+ 如果您配置了*私*有 VPC，并且已将 GitHub 企业服务器实例配置为使用非公共证书颁发机构执行 TLS 验证，则需要为您的主机资源提供 TLS 证书。
+ 当连接创建您的主机时，将为您创建用于 Webhook 的 VPC 终端节点 (PrivateLink)。有关更多信息，请参阅 [AWS CodeConnections 和接口 VPC 终端节点 (AWS PrivateLink)](vpc-interface-endpoints.md)。
+ 安全组配置
  + 主机创建期间使用的安全组需要允许网络接口连接到 GitHub 企业服务器实例的入站和出站规则
  + 连接到您的 E GitHub nterprise Server 实例（不是主机设置的一部分）的安全组需要通过连接创建的网络接口进行入站和出站访问。
+ 您的 VPC 子网必须位于您所在区域的不同可用区中。可用区是可以隔离其他可用区的故障的不同位置。每个子网都必须完全位于一个可用区之内，不能跨越多个可用区。

有关使用 VPCs 和子网的更多信息，请参阅 *Amazon VPC 用户指南 IPv4中的 VPC* [和子网大小](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)。

**您为主机设置提供的 VPC 信息**

在下一步中为连接创建主机资源时，需要提供以下内容：
+ **VPC ID：**安装 GitHub 企业服务器实例的服务器或可以通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的 VPC 的 VPC 的 ID。
+ **子网 ID 或 IDs：**安装 GitHub 企业服务器实例的服务器的子网 ID 或可通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的子网 ID。
+ 一个@@ **或多个安全组：**安装 GitHub 企业服务器实例的服务器的安全组，或者可以通过 VPN 或 Direct Connect 访问已安装的 GitHub企业服务器实例的安全组。
+ **终端节点：**准备好您的服务器终端节点，并继续下一步。

有关更多信息，包括 VPC 或主机连接的故障排查，请参阅 [对主机的 VPC 配置进行故障排查](troubleshooting-connections.md#troubleshooting-connections-host-vpc)。

### 权限要求
<a name="connections-create-host-prereq-permissions"></a>

作为主机创建过程的一部分，代表您 AWS CodeConnections 创建网络资源以促进 VPC 连接。这包括一个用于 AWS CodeConnections 查询主机数据的网络接口，以及一个*PrivateLink*用于通过 webhook 向连接发送事件数据的 VPC 终端节点。为了能够创建这些网络资源，请确保用于创建主机的 IAM 用户具有以下权限：

```
ec2:CreateNetworkInterface
ec2:CreateTags
ec2:DescribeDhcpOptions
ec2:DescribeNetworkInterfaces
ec2:DescribeSubnets
ec2:DeleteNetworkInterface
ec2:DescribeVpcs
ec2:CreateVpcEndpoint
ec2:DeleteVpcEndpoints
ec2:DescribeVpcEndpoints
```

有关 VPC 中权限或主机连接故障排除的更多信息，请参阅[对主机的 VPC 配置进行故障排查](troubleshooting-connections.md#troubleshooting-connections-host-vpc)。

有关 Webhook VPC 终端节点的更多信息，请参阅 [AWS CodeConnections 和接口 VPC 终端节点 (AWS PrivateLink)](vpc-interface-endpoints.md)。

**Topics**
+ [（可选）先决条件：您的连接的网络或 Amazon VPC 配置](#connections-create-host-prereq)
+ [创建连接的主机（控制台）](#connections-host-create-console)
+ [创建用于连接的主机（CLI）](#connections-host-create-cli)

## 创建连接的主机（控制台）
<a name="connections-host-create-console"></a>

对于用于安装的连接，例如与 E GitHub nterprise Server 或 GitLab自我管理的连接，您可以使用主机来表示安装第三方提供商的基础架构的端点。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

要了解有关在 VPC 中设置主机的注意事项，请参阅 [创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)。

要使用控制台创建主机以及与 GitHub 企业服务器的连接，请参见[创建您的 GitHub 企业服务器连接（控制台）](connections-create-gheserver-console.md#connections-create-gheserver-connection)。控制台将为您创建一个主机。

要使用控制台创建主机并连接到 GitLab 自行管理，请参阅[创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)。控制台将为您创建一个主机。

**注意**  
每个 E GitHub nterprise Server 或 GitLab 自我管理帐户只能创建一次主机。您与特定 GitHub 企业服务器或 GitLab自行管理帐户的所有连接都将使用同一台主机。

## 创建用于连接的主机（CLI）
<a name="connections-host-create-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 为已安装的连接创建主机。

**注意**  
每个 GitHub 企业服务器帐户只能创建一次主机。您与特定 GitHub 企业服务器帐户的所有连接都将使用同一台主机。

您可以使用主机来表示安装第三方提供程序的基础设施的终端节点。要使用 CLI 创建主机，请使用 **create-host** 命令。完成主机创建后，主机处于 **Pending (待处理)** 状态。然后您*设置*主机将其变为 **Available (可用)** 状态。主机可用后，完成创建连接的步骤。

**重要**  
默认情况下，通过创建的主机 AWS CLI 处于`Pending`状态。使用 CLI 创建主机后，可使用控制台设置主机使其状态为 `Available`。

要使用控制台创建主机以及与 GitHub 企业服务器的连接，请参见[创建您的 GitHub 企业服务器连接（控制台）](connections-create-gheserver-console.md#connections-create-gheserver-connection)。控制台将为您创建一个主机。

要使用控制台创建主机并连接到 GitLab 自行管理，请参阅[创建与 GitLab 自我管理的连接](connections-create-gitlab-managed.md)。控制台将为您创建一个主机。

# 设置待处理的主机
<a name="connections-host-setup"></a>

通过 AWS Command Line Interface (AWS CLI) 或 SDK 创建的主机默认处于`Pending`状态。创建与控制台或 SDK 的连接后，使用控制台将主机设置为其状态`Available`。 AWS CLI

您必须已创建一个主机。有关更多信息，请参阅 [Create a host (创建主机)](connections-host-create.md)。<a name="proc-host-setup-steps"></a>

**要设置待处理的主机**

创建主机后，它处于 **Pending (待处理)** 状态。要将主机从 **Pending (待处理)** 变为 **Available (可用)** 状态，请完成以下步骤。此过程与第三方提供商进行握手，以便在主机上注册 AWS 连接应用程序。

1. 在 AWS 开发者工具控制台上的主机处于 “**待处理**” 状态后，选择**设置主机**。

1. 如果您正在创建用于 GitLab 自行管理的主机，则会显示 “**设置**” 页面。在**提供个人访问令牌**中，仅向你的 GitLab PAT 提供以下限定范围的权限：api。

1. 在第三方安装的提供商登录页面（例如 **E GitHub nterprise Server** 登录页面）上，如果出现提示，请使用您的帐户凭据登录。

1. 在应用程序安装页面的**GitHub 应用程序名称**中，输入要为主机安装的应用程序的名称。选择 “**创建 GitHub应用程序**”。

1. 成功注册主机后，将显示主机详细信息页面，并显示主机状态为 **Available (可用)**。  
![\[显示主机设置已完成且处于 Available (可用) 状态的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-create-host-register-complete.png)

1. 在主机可用后，您可以继续创建连接。在成功横幅上，选择 **Create connection (创建连接)**。完成 [Create a connection (创建连接)](connections-create-gheserver-console.md) 中的步骤。

# 列出主机
<a name="connections-host-list"></a>

您可以使用开发人员工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **list-connections** 命令,来查看您账户中的连接列表。

## 列出主机（控制台）
<a name="connections-host-list-console"></a>

**要列出主机**

1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Host (主机)** 选项卡。查看主机的名称、状态和 ARN。

## 列出主机 (CLI)
<a name="connections-host-list-cli"></a>

您可以使用列 AWS CLI 出已安装的第三方提供商连接的主机。

为此，请使用 **list-hosts** 命令。

**列出主机**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符 (Windows)，然后使用运行命令。 AWS CLI **list-hosts**

  ```
  aws codeconnections list-hosts
  ```

  此命令将返回以下输出。

  ```
  {
      "Hosts": [
          {
              "Name": "My-Host",
              "HostArn": "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605",
              "ProviderType": "GitHubEnterpriseServer",
              "ProviderEndpoint": "https://my-instance.test.dev",
              "Status": "AVAILABLE"
          }
      ]
  }
  ```

# 编辑主机
<a name="connections-host-edit"></a>

您可以编辑处于 `Pending` 状态主机的主机设置。您可以编辑主机名、URL 或 VPC 配置。

您不能将同一个 URL 用于多个主机。

**注意**  
要了解有关在 VPC 中设置主机的注意事项，请参阅 [（可选）先决条件：您的连接的网络或 Amazon VPC 配置](connections-host-create.md#connections-create-host-prereq)。

**要编辑主机**

1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Settings > Connections (设置 > 连接)**。

1. 选择 **Host (主机)** 选项卡。

   将显示与您的 AWS 账户关联并在所选 AWS 地区创建的主机。

1. 要编辑主机名，则在 **Name (名称)** 中输入新值。

1. 要编辑主机终端节点，则在 **URL** 中输入新值。

1. 要编辑主机 VPC 配置，请在 **VPC ID** 中输入新值。

1. 选择 **Edit host (编辑主机)**。

1. 将显示更新后的设置。选择 **Set up Pending host (设置待处理主机)**。

# 删除主机
<a name="connections-host-delete"></a>

您可以使用开发工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **delete-host** 命令来删除主机。

**Topics**
+ [删除主机（控制台）](#connections-host-delete-console)
+ [删除主机 (CLI)](#connections-host-delete-cli)

## 删除主机（控制台）
<a name="connections-host-delete-console"></a>

**要删除主机**



1. 在 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 打开开发工具控制台。

1. 选择 **Host (主机)** 选项卡。在 **Name (名称)** 中，选择您要删除的主机的名称。

1. 选择 **Delete**。

1. 在字段中输入 **delete** 以确认，然后选择**删除**。
**重要**  
并且无法撤消。

## 删除主机 (CLI)
<a name="connections-host-delete-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 删除主机。

为此，请使用 **delete-host** 命令。

**重要**  
必须先删除与主机关联的所有连接，然后才能删除主机。  
运行该命令后，将删除主机。不显示任何确认对话框。

**要删除主机**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行**delete-host**命令，指定 AWS CLI 要删除的主机的 Amazon 资源名称 (ARN)。

  ```
  aws codeconnections delete-host --host-arn "arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605"
  ```

  该命令不返回任何内容。

# 查看主机详细信息
<a name="connections-host-view"></a>

您可以使用开发工具控制台或 AWS Command Line Interface (AWS CLI) 中的 **get-host** 命令来查看主机的详细信息。



**要查看主机详细信息（控制台）**

1. 登录到 AWS 管理控制台 ，然后打开 [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) 上的开发工具控制台。

1. 选择 **Settings > Connections (设置 > 连接)**，然后选择 **Hosts (主机)** 选项卡。

1. 选择要查看的主机旁边的按钮，然后选择 **View details (查看详细信息)**。

1. 此时将显示以下主机信息：
   + 主机名。
   + 连接的提供程序类型。
   + 安装提供程序的基础设施的终端节点。
   + 主机的设置状态。准备好连接的主机处于 **Available (可用)** 状态。如果您的主机已创建但设置尚未完成，则主机可能处于不同的状态。

     以下是可能的状态：
     + PENDING (待处理) - 主机已完成创建，并准备好通过在主机上注册提供程序应用程序开始设置。
     + AVAILABLE (可用) - 主机已完成创建和设置，可用于连接。
     + ERROR (错误) - 主机创建或注册过程中出错。
     + VPC\$1CONFIG\$1VPC\$1INITIALIZING - 正在创建主机的 VPC 配置。
     + VPC\$1CONFIG\$1VPC\$1FAILED\$1INITIALIZATION - 主机的 VPC 配置遇到错误并失败。
     + VPC\$1CONFIG\$1VPC\$1AVAILABLE - 主机的 VPC 配置已完成设置并且可用。
     + VPC\$1CONFIG\$1VPC\$1DELETING - 正在删除主机的 VPC 配置。  
![\[显示主机处于 Available (可用) 状态的主机详细信息的控制台屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/connections-view-host-screen.png)

1. 要删除该主机，请选择 **Delete (删除)**。

1. 如果主机位于 **Pending (待处理)** 状态，要完成设置，请选择 **Set up host (设置主机)**。有关更多信息，请参阅[设置待处理的主机](connections-host-setup.md)。

**要查看主机详细信息 (CLI)**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符 (Windows)，然后使用运行**get-host**命令，指定要查看其详细信息的主机的亚马逊资源名称 (ARN)。 AWS CLI 

  ```
  aws codeconnections get-host --host-arn arn:aws:codeconnections:us-west-2:account_id:host/My-Host-28aef605
  ```

  此命令将返回以下输出。

  ```
  {
      "Name": "MyHost",
      "Status": "AVAILABLE",
      "ProviderType": "GitHubEnterpriseServer",
      "ProviderEndpoint": "https://test-instance-1.dev/"
  }
  ```

# 针对已链接存储库使用同步配置
<a name="configurations"></a>

在中 AWS CodeConnections，您可以使用连接将 AWS 资源关联到第三方存储库，例如 Bitbucket Cloud GitHub、E GitHub nterprise Server 和 GitLab。使用`CFN_STACK_SYNC`同步类型，您可以创建同步配置，该配置 AWS 允许同步 Git 存储库中的内容以更新指定 AWS 资源。 CloudFormation 与连接集成，因此您可以使用 Git sync 在与之同步的链接存储库中管理模板和参数文件。

创建连接后，您可以使用 connections CLI 或 CloudFormation 控制台来创建存储库链接和同步配置。
+ 存储库链接：存储库链接在您的连接和外部 Git 存储库之间创建关联。存储库链接使 Git 同步功能可监控和同步指定 Git 存储库中的文件更改。
+ 同步配置：使用同步配置同步 Git 存储库中的内容以更新指定 AWS 资源。

有关更多信息，请参阅 [https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)。

有关如何使用 CloudFormation 控制台为 CloudFormation 堆栈创建同步配置的教程，请参阅《*CloudFormation 用户指南》*中的 “[使用 CloudFormation Git sync](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/git-sync.html)”。

**Topics**
+ [使用存储库链接](repositorylinks.md)
+ [使用同步配置](syncconfigurations.md)

# 使用存储库链接
<a name="repositorylinks"></a>

存储库链接会在您的连接和外部 Git 存储库之间创建关联。仓库链接允许 Git sync 监控指定 Git 仓库中文件的更改并将其同步到 CloudFormation 堆栈。

有关仓库链接的更多信息，请参阅 [AWS CodeConnections API 参考](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/Welcome.html)。

**Topics**
+ [创建存储库链接](repositorylinks-create.md)
+ [更新存储库链接](repositorylinks-update.md)
+ [列出存储库链接](repositorylinks-list.md)
+ [删除存储库链接](repositorylinks-delete.md)
+ [查看存储库链接详细信息](repositorylinks-view-details.md)

# 创建存储库链接
<a name="repositorylinks-create"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的**create-repository-link**命令在连接和要同步到的外部存储库之间创建链接。

在创建存储库链接之前，您必须已经使用第三方提供商创建了外部存储库，例如 GitHub。

**创建存储库链接**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-repository-link**命令。指定关联连接的 ARN、所有者 ID 和存储库名称。

   ```
   aws codeconnections create-repository-link --connection-arn  arn:aws:codeconnections:us-east-1:account_id:connection/001f5be2-a661-46a4-b96b-4d277cac8b6e --owner-id account_id --repository-name MyRepo 
   ```

1. 此命令将返回以下输出。

   ```
   {
       "RepositoryLinkInfo": {
           "ConnectionArn": "arn:aws:codeconnections:us-east-1:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f",
           "OwnerId": "account_id",
           "ProviderType": "GitHub",
           "RepositoryLinkArn": "arn:aws:codeconnections:us-east-1:account_id:repository-link/be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryLinkId": "be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryName": "MyRepo",
           "Tags": []
       }
   }
   ```

# 更新存储库链接
<a name="repositorylinks-update"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的**update-repository-link**命令来更新指定的存储库链接。

您可以更新存储库链接的以下信息：
+ `--connection-arn`
+ `--owner-id`
+ `--repository-name`

当您想要更改与存储库关联的连接时，可以更新存储库链接。要使用其他连接，您需要指定连接 ARN。有关查看连接 ARN 的步骤，请参阅[查看连接详细信息](connections-view-details.md)。

**更新存储库链接**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行**update-repository-link**命令，为存储库链接指定要更新的值。 AWS CLI 例如，以下命令将更新与存储库链接 ID 关联的连接。它使用 `--connection` 参数指定新的连接 ARN。

   ```
   aws codestar-connections update-repository-link --repository-link-id 6053346f-8a33-4edb-9397-10394b695173 --connection-arn arn:aws:codestar-connections:us-east-1:account_id:connection/aEXAMPLE-f055-4843-adef-4ceaefcb2167 
   ```

1. 此命令将返回以下输出。

   ```
   {
       "RepositoryLinkInfo": {
           "ConnectionArn": "arn:aws:codestar-connections:us-east-1:account_id:connection/aEXAMPLE-f055-4843-adef-4ceaefcb2167",
           "OwnerId": "owner_id",
           "ProviderType": "GitHub",
           "RepositoryLinkArn": "arn:aws:codestar-connections:us-east-1:account_id:repository-link/6053346f-8a33-4edb-9397-10394b695173",
           "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
           "RepositoryName": "MyRepo",
           "Tags": []
       }
   }
   ```

# 列出存储库链接
<a name="repositorylinks-list"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的**list-repository-links**命令列出您账户的存储库链接。

**列出存储库链接**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**list-repository-links **命令。

   ```
   aws codeconnections list-repository-links
   ```

1. 此命令将返回以下输出。

   ```
   {
       "RepositoryLinks": [
           {
               "ConnectionArn": "arn:aws:codestar-connections:us-east-1:account_id:connection/001f5be2-a661-46a4-b96b-4d277cac8b6e",
               "OwnerId": "owner_id",
               "ProviderType": "GitHub",
               "RepositoryLinkArn": "arn:aws:codestar-connections:us-east-1:account_id:repository-link/6053346f-8a33-4edb-9397-10394b695173",
               "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
               "RepositoryName": "MyRepo",
               "Tags": []
           }
       ]
   }
   ```

# 删除存储库链接
<a name="repositorylinks-delete"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的**delete-repository-link**命令来删除存储库链接。

必须先删除与存储库链接关联的所有同步配置，然后才能删除该存储库链接。

**重要**  
运行该命令后，将删除存储库链接。不显示任何确认对话框。您可以创建新的存储库链接，但无法重复使用 Amazon 资源名称 (ARN)。

**删除存储库链接**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行**delete-repository-link**命令，指定 AWS CLI 要删除的存储库链接的 ID。

  ```
  aws codeconnections delete-repository-link --repository-link-id 6053346f-8a33-4edb-9397-10394b695173
  ```

  该命令不返回任何内容。

# 查看存储库链接详细信息
<a name="repositorylinks-view-details"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的**get-repository-link**命令来查看有关存储库链接的详细信息。

**查看存储库链接详细信息**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**get-repository-link**命令，指定存储库链接 ID。

   ```
   aws codestar-connections get-repository-link --repository-link-id 6053346f-8a33-4edb-9397-10394b695173
   ```

1. 此命令将返回以下输出。

   ```
   {
       "RepositoryLinkInfo": {
           "ConnectionArn": "arn:aws:codestar-connections:us-east-1:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f",
           "OwnerId": "owner_id",
           "ProviderType": "GitHub",
           "RepositoryLinkArn": "arn:aws:codestar-connections:us-east-1:account_id:repository-link/be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
           "RepositoryName": "MyRepo",
           "Tags": []
       }
   }
   ```

# 使用同步配置
<a name="syncconfigurations"></a>

同步配置在指定的存储库和连接之间创建关联。使用同步配置可同步 Git 存储库中的内容以更新指定 AWS 资源。

有关连接的更多信息，请参阅 [AWS CodeConnections API 参考](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/Welcome.html)。

**Topics**
+ [创建同步配置](syncconfigurations-create.md)
+ [更新同步配置](syncconfigurations-update.md)
+ [列出同步配置](syncconfigurations-list.md)
+ [删除同步配置](syncconfigurations-delete.md)
+ [查看同步配置详细信息](syncconfigurations-view-details.md)

# 创建同步配置
<a name="syncconfigurations-create"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的**create-repository-link**命令在连接和要同步到的外部存储库之间创建链接。

在创建同步配置之前，您必须已经在连接和第三方存储库之间创建了存储库链接。

**创建同步配置**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**create-repository-link**命令。指定关联连接的 ARN、所有者 ID 和存储库名称。以下命令将创建一个同步配置，其同步类型适用于 CloudFormation中的资源。它还指定了存储库分支和存储库中的配置文件。在此示例中，资源是一个名为 **`mystack`** 的堆栈。

   ```
   aws codeconnections create-sync-configuration --branch main --config-file filename --repository-link-id be8f2017-b016-4a77-87b4-608054f70e77 --resource-name mystack --role-arn arn:aws:iam::account_id:role/myrole --sync-type CFN_STACK_SYNC
   ```

1. 此命令将返回以下输出。

   ```
   {
       "SyncConfiguration": {
           "Branch": "main",
           "ConfigFile": "filename",
           "OwnerId": "account_id",
           "ProviderType": "GitHub",
           "RepositoryLinkId": "be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryName": "MyRepo",
           "ResourceName": "mystack",
           "RoleArn": "arn:aws:iam::account_id:role/myrole",
           "SyncType": "CFN_STACK_SYNC"
       }
   ```

# 更新同步配置
<a name="syncconfigurations-update"></a>

您可以在 AWS Command Line Interface (AWS CLI) 中使用 **update-sync-configuration** 命令更新指定同步配置。

您可以更新同步配置的以下信息：
+ `--branch`
+ `--config-file`
+ `--repository-link-id`
+ `--resource-name`
+ `--role-arn`

**更新同步配置**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行**update-sync-configuration**命令，指定要更新的值以及资源名称和同步类型。 AWS CLI 例如，以下命令使用 `--branch` 参数更新与同步配置关联的分支名称。

   ```
   aws codeconnections update-sync-configuration --sync-type CFN_STACK_SYNC --resource-name mystack --branch feature-branch
   ```

1. 此命令将返回以下输出。

   ```
   {
       "SyncConfiguration": {
           "Branch": "feature-branch",
           "ConfigFile": "filename.yaml",
           "OwnerId": "owner_id",
           "ProviderType": "GitHub",
           "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
           "RepositoryName": "MyRepo",
           "ResourceName": "mystack",
           "RoleArn": "arn:aws:iam::account_id:role/myrole",
           "SyncType": "CFN_STACK_SYNC"
       }
   ```

# 列出同步配置
<a name="syncconfigurations-list"></a>

您可以在 AWS Command Line Interface (AWS CLI) 中使用 **list-sync-configurations** 命令列出您账户中的存储库链接。

**列出存储库链接**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行**list-sync-configurations**命令，指定同步类型和存储库链接 ID。 AWS CLI 

   ```
   aws codeconnections list-sync-configurations --repository-link-id 6053346f-8a33-4edb-9397-10394b695173  --sync-type CFN_STACK_SYNC 
   ```

1. 此命令将返回以下输出。

   ```
   {
       "SyncConfigurations": [
           {
               "Branch": "main",
               "ConfigFile": "filename.yaml",
               "OwnerId": "owner_id",
               "ProviderType": "GitHub",
               "RepositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
               "RepositoryName": "MyRepo",
               "ResourceName": "mystack",
               "RoleArn": "arn:aws:iam::account_id:role/myrole",
               "SyncType": "CFN_STACK_SYNC"
           }
       ]
   }
   ```

# 删除同步配置
<a name="syncconfigurations-delete"></a>

您可以在 AWS Command Line Interface (AWS CLI) 中使用 **delete-sync-configuration** 命令删除同步配置。

**重要**  
运行该命令后，将删除同步配置。不显示任何确认对话框。您可以创建新的同步配置，但无法重复使用 Amazon 资源名称 (ARN)。

**删除同步配置**
+ 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。使用运行**delete-sync-configuration**命令，为 AWS CLI 要删除的同步配置指定同步类型和资源名称。

  ```
  aws codeconnections delete-sync-configuration --sync-type CFN_STACK_SYNC --resource-name mystack
  ```

  该命令不返回任何内容。

# 查看同步配置详细信息
<a name="syncconfigurations-view-details"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 中的**get-sync-configuration**命令来查看同步配置的详细信息。

**查看同步配置详细信息**

1. 打开终端（Linux、macOS 或 Unix）或命令提示符（Windows）。 AWS CLI 使用运行**get-sync-configuration**命令，指定存储库链接 ID。

   ```
   aws codeconnections get-sync-configuration --sync-type CFN_STACK_SYNC --resource-name mystack
   ```

1. 此命令将返回以下输出。

   ```
   {
       "SyncConfiguration": {
           "Branch": "main",
           "ConfigFile": "filename",
           "OwnerId": "owner_id",
           "ProviderType": "GitHub",
           "RepositoryLinkId": "be8f2017-b016-4a77-87b4-608054f70e77",
           "RepositoryName": "MyRepo",
           "ResourceName": "mystack",
           "RoleArn": "arn:aws:iam::account_id:role/myrole",
           "SyncType": "CFN_STACK_SYNC"
       }
   }
   ```

# 使用记录 AWS CodeConnections API 调用 AWS CloudTrail
<a name="logging-using-cloudtrail-connections"></a>

AWS CodeConnections 与 AWS CloudTrail一项服务集成，该服务提供用户、角色或 AWS 服务所执行操作的记录。 CloudTrail 将通知的所有 API 调用捕获为事件。捕获的调用包含来自开发人员工具控制台的调用和对 AWS CodeConnections API 操作的代码调用。

如果您创建跟踪，则可以允许向亚马逊简单存储服务 (Amazon S3) Service 存储桶持续传送事件，包括用于通知的事件。 CloudTrail 如果您未配置跟踪，您仍然可以在 CloudTrail 控制台的 “事件**历史记录” 中查看最新的事件**。使用收集的信息 CloudTrail，您可以确定向哪个请求发出 AWS CodeConnections、发出请求的 IP 地址、谁发出了请求、何时发出请求以及其他详细信息。

有关更多信息，请参阅 [AWS CloudTrail 《用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)。

## AWS CodeConnections 信息在 CloudTrail
<a name="service-name-info-in-cloudtrail-connections"></a>

CloudTrail 在您创建 AWS 账户时已在您的账户上启用。当活动发生在中时 AWS CodeConnections，该活动会与其他 AWS 服务 CloudTrail 事件一起记录在**事件历史**记录中。您可以在自己的 AWS 账户中查看、搜索和下载最近发生的事件。有关更多信息，请参阅《*AWS CloudTrail 用户指南》*中的[使用 CloudTrail 事件历史查看事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您 AWS 账户中的事件，包括其中的事件 AWS CodeConnections，请创建跟踪。*跟踪*允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有 AWS 区域。跟踪记录 AWS 分区中所有区域的事件，并将日志文件传送到您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，以进一步分析和处理 CloudTrail 日志中收集的事件数据。

有关更多信息，请参阅《AWS CloudTrail 用户指南》**中的以下主题：
+ [创建跟踪记录概述](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [接收来自多个区域的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)
+ [接收来自多个账户的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

所有 AWS CodeConnections 操作均由 API 参考记录 CloudTrail 并记录在 [AWS CodeConnections API 参考](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)中。例如，调用`DeleteConnection`和`GetConnection`操作会在 CloudTrail 日志文件中生成条目。`CreateConnection`

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容：
+ 使用根用户凭证还是其他 IAM 凭证发出请求。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务发出。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 了解日志文件条目
<a name="understanding-service-name-entries-connections"></a>

*跟踪*是一种配置，允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。*事件*代表来自任何来源的单个请求，包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定的顺序出现。

## `CreateConnection` 示例
<a name="w2aab5c25c39c13"></a>

以下示例显示了演示该`CreateConnection`操作的 CloudTrail 日志条目。

```
{
    "EventId": "b4374fde-c544-4d43-b511-7d899568e55a",
    "EventName": "CreateConnection",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-09T15:13:46-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:user/Mary_Major",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-09T23:03:08Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-09T23:13:46Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "CreateConnection",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.create-connection",
        "requestParameters": {
            "providerType": "GitHub",
            "connectionName": "my-connection"
        },
        "responseElements": {
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/df03df74-8e05-45cf-b420-b39e389dd264"
        },
        "requestID": "57640a88-97b7-481d-9665-cfd79a681379",
        "eventID": "b4374fde-c544-4d43-b511-7d899568e55a",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `CreateHost` 示例
<a name="w2aab5c25c39c15"></a>

以下示例显示了演示该`CreateHost`操作的 CloudTrail 日志条目。

```
{
    "EventId": "af4ce349-9f21-43fb-8003-267fbf9b1a93",
    "EventName": "CreateHost",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:43:06-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:43:06Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "CreateHost",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.137",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.create-host",
        "requestParameters": {
            "name": "Demo1",
            "providerType": "GitHubEnterpriseServer",
            "providerEndpoint": "IP"
        },
        "responseElements": {
            "hostArn": "arn:aws:codeconnections:us-east-1:123456789012:host/Demo1-EXAMPLE"
        },
        "requestID": "974459b3-8a04-4cff-9c8f-0c88647831cc",
        "eventID": "af4ce349-9f21-43fb-8003-267fbf9b1a93",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `CreateSyncConfiguration` 示例
<a name="w2aab5c25c39c17"></a>

以下示例显示了演示该`CreateSyncConfiguration`操作的 CloudTrail 日志条目。

```
{
    "EventId": "be1397e1-eefb-49f0-b4ee-2708c45e94e7",
    "EventName": "CreateSyncConfiguration",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:38:30+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:38:30Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "CreateSyncConfiguration",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.create-sync-configuration",
        "requestParameters": {
            "branch": "master",
            "configFile": "filename",
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
            "resourceName": "mystack",
            "roleArn": "arn:aws:iam::123456789012:role/my-role",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": {
            "syncConfiguration": {
                "branch": "main",
                "configFile": "filename",
                "ownerId": "owner_ID",
                "providerType": "GitHub",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo",
                "resourceName": "mystack",
                "roleArn": "arn:aws:iam::123456789012:role/my-role",
                "syncType": "CFN_STACK_SYNC"
            }
        },
        "requestID": "bad2f662-3f2a-42c0-b638-6115384896f6",
        "eventID": "be1397e1-eefb-49f0-b4ee-2708c45e94e7",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `DeleteConnection` 示例
<a name="w2aab5c25c39c19"></a>

以下示例显示了演示该`DeleteConnection`操作的 CloudTrail 日志条目。

```
{
    "EventId": "672837cd-f977-4fe2-95c7-14280b2af76c",
    "EventName": "DeleteConnection",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-10T13:00:50-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::001919387613:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-10T20:41:16Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-10T21:00:50Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "DeleteConnection",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.delete-connection",
        "requestParameters": {
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/df03df74-8e05-45cf-b420-b39e389dd264"
        },
        "responseElements": null,
        "requestID": "4f26ceab-d665-41df-9e15-5ed0fbb4eca6",
        "eventID": "672837cd-f977-4fe2-95c7-14280b2af76c",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `DeleteHost` 示例
<a name="w2aab5c25c39c21"></a>

以下示例显示了演示该`DeleteHost`操作的 CloudTrail 日志条目。

```
{
    "EventId": "6018ba5c-6f24-4a30-b201-16ec19a1687a",
    "EventName": "DeleteHost",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:56:47-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:56:47Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "DeleteHost",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.delete-host",
        "requestParameters": {
            "hostArn": "arn:aws:codeconnections:us-east-1:123456789012:host/Demo1-EXAMPLE"
        },
        "responseElements": null,
        "requestID": "1b244528-143a-4028-b9a4-9479e342bce5",
        "eventID": "6018ba5c-6f24-4a30-b201-16ec19a1687a",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `DeleteSyncConfiguration` 示例
<a name="w2aab5c25c39c23"></a>

以下示例显示了演示该`DeleteSyncConfiguration`操作的 CloudTrail 日志条目。

```
{
    "EventId": "588660c7-3202-4998-a906-7bb72bcf4438",
    "EventName": "DeleteSyncConfiguration",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:41:59+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:41:59Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "DeleteSyncConfiguration",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.142",
        "userAgent": "aws-cli/2.15.11Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.delete-sync-configuration",
        "requestParameters": {
            "syncType": "CFN_STACK_SYNC",
            "resourceName": "mystack"
        },
        "responseElements": null,
        "requestID": "221e0b1c-a50e-4cf0-ab7d-780154e29c94",
        "eventID": "588660c7-3202-4998-a906-7bb72bcf4438",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetConnection` 示例
<a name="w2aab5c25c39c25"></a>

以下示例显示了演示该`GetConnection`操作的 CloudTrail 日志条目。

```
{
    "EventId": "672837cd-f977-4fe2-95c7-14280b2af76c",
    "EventName": "DeleteConnection",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-10T13:00:50-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-10T20:41:16Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-10T21:00:50Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "DeleteConnection",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.delete-connection",
        "requestParameters": {
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/df03df74-8e05-45cf-b420-b39e389dd264"
        },
        "responseElements": null,
        "requestID": "4f26ceab-d665-41df-9e15-5ed0fbb4eca6",
        "eventID": "672837cd-f977-4fe2-95c7-14280b2af76c",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "001919387613",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetHost` 示例
<a name="w2aab5c25c39c27"></a>

以下示例显示了演示该`GetHost`操作的 CloudTrail 日志条目。

```
{
    "EventId": "faa147e7-fe7c-4ab9-a11b-2568a2883c01",
    "EventName": "GetHost",
    "ReadOnly": "true",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:44:34-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:44:34Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetHost",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.137",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.get-host",
        "requestParameters": {
            "hostArn": "arn:aws:codeconnections:us-east-1:123456789012:host/Demo1-EXAMPLE"
        },
        "responseElements": null,
        "requestID": "0ad61bb6-f88f-4f96-92fe-997f017ec2bb",
        "eventID": "faa147e7-fe7c-4ab9-a11b-2568a2883c01",
        "readOnly": true,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetRepositoryLink` 示例
<a name="w2aab5c25c39c29"></a>

以下示例显示了演示该`GetRepositoryLink`操作的 CloudTrail 日志条目。

```
{
    "EventId": "b46acb67-3612-41c7-8987-adb6c9ed4ad4",
    "EventName": "GetRepositoryLink",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T02:59:28+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T02:58:52Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T02:59:28Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetRepositoryLink",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.get-repository-link",
        "requestParameters": {
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173"
        },
        "responseElements": {
            "repositoryLinkInfo": {
                "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/7df263cc-f055-4843-adef-4ceaefcb2167",
                "ownerId": "123456789012",
                "providerType": "GitHub",
                "repositoryLinkArn": "arn:aws:codeconnections:us-east-1:123456789012:repository-link/6053346f-8a33-4edb-9397-10394b695173",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo"
            }
        },
        "requestID": "d46704dd-dbe9-462f-96a6-022a8d319fd1",
        "eventID": "b46acb67-3612-41c7-8987-adb6c9ed4ad4",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-ea-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetRepositorySyncStatus` 示例
<a name="w2aab5c25c39c31"></a>

以下示例显示了演示该[GetRepositorySyncStatus](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_GetRepositorySyncStatus.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "3e183b74-d8c4-4ad3-9de3-6b5721c522e9",
    "EventName": "GetRepositorySyncStatus",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T03:41:44+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T02:56:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T03:41:44Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetRepositorySyncStatus",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.138",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.get-repository-sync-status",
        "errorCode": "ResourceNotFoundException",
        "errorMessage": "Could not find a sync status for repository link:6053346f-8a33-4edb-9397-10394b695173",
        "requestParameters": {
            "branch": "feature-branch",
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": null,
        "requestID": "e0cee3ee-31e8-4ef5-b749-96cdcabbe36f",
        "eventID": "3e183b74-d8c4-4ad3-9de3-6b5721c522e9",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetResourceSyncStatus` 示例
<a name="w2aab5c25c39c33"></a>

以下示例显示了演示该[GetResourceSyncStatus](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_GetResourceSyncStatus.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "9c47054e-f6f6-4345-96d0-9a5af3954a8d",
    "EventName": "GetResourceSyncStatus",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T03:44:11+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T02:56:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T03:44:11Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetResourceSyncStatus",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.get-resource-sync-status",
        "requestParameters": {
            "resourceName": "mystack",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": null,
        "requestID": "e74b5503-d651-4920-9fd2-0f40fb5681e0",
        "eventID": "9c47054e-f6f6-4345-96d0-9a5af3954a8d",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetSyncBlockerSummary` 示例
<a name="w2aab5c25c39c35"></a>

以下示例显示了演示该[GetSyncBlockerSummary](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_GetSyncBlockerSummary.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "c16699ba-a788-476d-8c6c-47511d76309e",
    "EventName": "GetSyncBlockerSummary",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T03:03:02+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T02:56:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T03:03:02Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetSyncBlockerSummary",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.get-sync-blocker-summary",
        "requestParameters": {
            "syncType": "CFN_STACK_SYNC",
            "resourceName": "mystack"
        },
        "responseElements": {
            "syncBlockerSummary": {
                "resourceName": "mystack",
                "latestBlockers": []
            }
        },
        "requestID": "04240091-eb25-4138-840d-776f8e5375b4",
        "eventID": "c16699ba-a788-476d-8c6c-47511d76309e",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `GetSyncConfiguration` 示例
<a name="w2aab5c25c39c37"></a>

以下示例显示了演示该[GetSyncConfiguration](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_GetSyncConfiguration.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "bab9aa16-4553-4206-a1ea-88219233dd25",
    "EventName": "GetSyncConfiguration",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:40:40+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:40:40Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "GetSyncConfiguration",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "52.94.133.142",
        "userAgent": "aws-cli/2.15.11Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.get-sync-configuration",
        "requestParameters": {
            "syncType": "CFN_STACK_SYNC",
            "resourceName": "mystack"
        },
        "responseElements": {
            "syncConfiguration": {
                "branch": "main",
                "configFile": "filename",
                "ownerId": "123456789012",
                "providerType": "GitHub",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo",
                "resourceName": "mystack",
                "roleArn": "arn:aws:iam::123456789012:role/my-role",
                "syncType": "CFN_STACK_SYNC"
            }
        },
        "requestID": "0aa8e43a-6e34-4d8f-89fb-5c2d01964b35",
        "eventID": "bab9aa16-4553-4206-a1ea-88219233dd25",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListConnections` 示例
<a name="w2aab5c25c39c39"></a>

以下示例显示了演示该[ListConnections](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListConnections.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "3f8d80fe-fbe1-4755-903c-4f58fc8262fa",
    "EventName": "ListConnections",
    "ReadOnly": "true",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-08T14:11:23-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-08T22:11:02Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-08T22:11:23Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListConnections",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/1.18.147 Python/2.7.18 Linux/5.10.201-168.748.amzn2int.x86_64 botocore/1.18.6",
        "requestParameters": {
            "maxResults": 50
        },
        "responseElements": null,
        "requestID": "5d456d59-3e92-44be-b941-a429df59e90b",
        "eventID": "3f8d80fe-fbe1-4755-903c-4f58fc8262fa",
        "readOnly": true,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListHosts` 示例
<a name="w2aab5c25c39c41"></a>

以下示例显示了演示该[ListHosts](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListHosts.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "f6e9e831-feaf-4ad1-ac47-51681109c401",
    "EventName": "ListHosts",
    "ReadOnly": "true",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T13:00:55-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T21:00:55Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListHosts",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.list-hosts",
        "requestParameters": {
            "maxResults": 50
        },
        "responseElements": null,
        "requestID": "ea87e2cf-6bf1-4cc7-9666-f3fad85d6d83",
        "eventID": "f6e9e831-feaf-4ad1-ac47-51681109c401",
        "readOnly": true,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListRepositoryLinks` 示例
<a name="w2aab5c25c39c43"></a>

以下示例显示了演示该[ListRepositoryLinks](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListRepositoryLinks.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "4f714bbb-0716-4f6e-9868-9b379b30757f",
    "EventName": "ListRepositoryLinks",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T01:57:29+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T01:43:49Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T01:57:29Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListRepositoryLinks",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.list-repository-links",
        "requestParameters": {
            "maxResults": 50
        },
        "responseElements": {
            "repositoryLinks": [
                {
                    "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/001f5be2-a661-46a4-b96b-4d277cac8b6e",
                    "ownerId": "123456789012",
                    "providerType": "GitHub",
                    "repositoryLinkArn": "arn:aws:codeconnections:us-east-1:123456789012:repository-link/be8f2017-b016-4a77-87b4-608054f70e77",
                    "repositoryLinkId": "be8f2017-b016-4a77-87b4-608054f70e77",
                    "repositoryName": "MyGitHubRepo"
                },
                {
                    "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/7df263cc-f055-4843-adef-4ceaefcb2167",
                    "ownerId": "owner",
                    "providerType": "GitHub",
                    "repositoryLinkArn": "arn:aws:codeconnections:us-east-1:123456789012:repository-link/6053346f-8a33-4edb-9397-10394b695173",
                    "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                    "repositoryName": "MyGitHubRepo"
                }
            ]
        },
        "requestID": "7c8967a9-ec15-42e9-876b-0ef58681ec55",
        "eventID": "4f714bbb-0716-4f6e-9868-9b379b30757f",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListRepositorySyncDefinitions` 示例
<a name="w2aab5c25c39c45"></a>

以下示例显示了演示该[ListRepositorySyncDefinitions](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListRepositorySyncDefinitions.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "12e52dbb-b00d-49ad-875a-3efec36e5aa1",
    "EventName": "ListRepositorySyncDefinitions",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T16:56:19+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T16:43:03Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T16:56:19Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListRepositorySyncDefinitions",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.list-repository-sync-definitions",
        "requestParameters": {
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
            "syncType": "CFN_STACK_SYNC",
            "maxResults": 50
        },
        "responseElements": {
            "repositorySyncDefinitions": []
        },
        "requestID": "df31d11d-5dc7-459b-9a8f-396b4769cdd9",
        "eventID": "12e52dbb-b00d-49ad-875a-3efec36e5aa1",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
```

## `ListSyncConfigurations` 示例
<a name="w2aab5c25c39c47"></a>

以下示例显示了演示该[ListSyncConfigurations](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListSyncConfigurations.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "aa4ae557-ec31-4151-8d21-9e74dd01344c",
    "EventName": "ListSyncConfigurations",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:42:06+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:42:06Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListSyncConfigurations",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.804.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/offcommand/codeconnections.list-sync-configurations",
        "requestParameters": {
            "maxResults": 50,
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": {
            "syncConfigurations": [
                {
                    "branch": "feature-branch",
                    "configFile": "filename.yaml",
                    "ownerId": "owner",
                    "providerType": "GitHub",
                    "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                    "repositoryName": "MyGitHubRepo",
                    "resourceName": "dkstacksync",
                    "roleArn": "arn:aws:iam::123456789012:role/my-role",
                    "syncType": "CFN_STACK_SYNC"
                }
            ]
        },
        "requestID": "7dd220b5-fc0f-4023-aaa0-9555cfe759df",
        "eventID": "aa4ae557-ec31-4151-8d21-9e74dd01344c",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `ListTagsForResource` 示例
<a name="w2aab5c25c39c49"></a>

以下示例显示了演示该[ListTagsForResource](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_ListTagsForResource.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "fc501054-d68a-4325-824c-0e34062ef040",
    "EventName": "ListTagsForResource",
    "ReadOnly": "true",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T17:16:56+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "dMary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T16:43:03Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T17:16:56Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "ListTagsForResource",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.list-tags-for-resource",
        "requestParameters": {
            "resourceArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/9703702f-bebe-41b7-8fc4-8e6d2430a330"
        },
        "responseElements": null,
        "requestID": "994584a3-4807-47f2-bb1b-a64f0af6c250",
        "eventID": "fc501054-d68a-4325-824c-0e34062ef040",
        "readOnly": true,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `TagResource` 示例
<a name="w2aab5c25c39c51"></a>

以下示例显示了演示该[TagResource](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_TagResource.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "b7fbc943-2dd1-4c5b-a5ad-fc6d60a011f1",
    "EventName": "TagResource",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:22:11-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:22:11Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "TagResource",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.tag-resource",
        "requestParameters": {
            "resourceArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/8dcf69d1-3316-4392-ae09-71e038adb6ed",
            "tags": [
                {
                    "key": "Demo1",
                    "value": "hhvh1"
                }
            ]
        },
        "responseElements": null,
        "requestID": "ba382c33-7124-48c8-a23a-25816ce27604",
        "eventID": "b7fbc943-2dd1-4c5b-a5ad-fc6d60a011f1",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `UnTagResource` 示例
<a name="w2aab5c25c39c53"></a>

以下示例显示了演示该[UntagResource](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UntagResource.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "8a85cdee-2586-4679-be18-eec34204bc7e",
    "EventName": "UntagResource",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-11T12:31:14-08:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:31:14Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UntagResource",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.untag-resource",
        "requestParameters": {
            "resourceArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/8dcf69d1-3316-4392-ae09-71e038adb6ed",
            "tagKeys": [
                "Project",
                "ReadOnly"
            ]
        },
        "responseElements": null,
        "requestID": "05ef26a4-8c39-4f72-89bf-0c056c51b8d7",
        "eventID": "8a85cdee-2586-4679-be18-eec34204bc7e",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `UpdateHost` 示例
<a name="w2aab5c25c39c55"></a>

以下示例显示了演示该[UpdateHost](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UpdateHost.html)操作的 CloudTrail 日志条目。

```
"Events": [{
        "EventId": "4307cf7d-6d1c-40d9-a659-1bb41b31a2b6",
        "EventName": "UpdateHost",
        "ReadOnly": "false",
        "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "EventTime": "2024-01-11T12:54:32-08:00",
        "EventSource": "codeconnections.amazonaws.com",
        "Username": "Mary_Major",
        "Resources": [],
        "CloudTrailEvent": "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-11T20:09:35Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-11T20:54:32Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UpdateHost",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.13.30 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off command/codeconnections.update-host",
        "requestParameters": {
            "hostArn": "arn:aws:codeconnections:us-east-1:123456789012:host/Demo1-34e70ecb",
            "providerEndpoint": "https://54.218.245.167"
        },
        "responseElements": null,
        "requestID": "b17f46ac-1acb-44ab-a9f5-c35c20233441",
        "eventID": "4307cf7d-6d1c-40d9-a659-1bb41b31a2b6",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
```

## `UpdateRepositoryLink` 示例
<a name="w2aab5c25c39c57"></a>

以下示例显示了演示该[UpdateRepositoryLink](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UpdateRepositoryLink.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "be358c9a-5a8f-467e-8585-2860070be4fe",
    "EventName": "UpdateRepositoryLink",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T02:03:24+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T01:43:49Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T02:03:24Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UpdateRepositoryLink",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.update-repository-link",
        "requestParameters": {
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/7df263cc-f055-4843-adef-4ceaefcb2167",
            "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173"
        },
        "responseElements": {
            "repositoryLinkInfo": {
                "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/7df263cc-f055-4843-adef-4ceaefcb2167",
                "ownerId": "owner",
                "providerType": "GitHub",
                "repositoryLinkArn": "arn:aws:codeconnections:us-east-1:123456789012:repository-link/6053346f-8a33-4edb-9397-10394b695173",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo"
            }
        },
        "additionalEventData": {
            "providerAction": "UpdateRepositoryLink"
        },
        "requestID": "e01eee49-9393-4983-89e4-d1b3353a70d9",
        "eventID": "be358c9a-5a8f-467e-8585-2860070be4fe",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `UpdateSyncBlocker` 示例
<a name="w2aab5c25c39c59"></a>

以下示例显示了演示该[UpdateSyncBlocker](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UpdateSyncBlocker.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "211d19db-9f71-4d93-bf90-10f9ddefed88",
    "EventName": "UpdateSyncBlocker",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-25T03:01:05+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-25T02:56:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-25T03:01:05Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UpdateSyncBlocker",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6 Linux/5.10.205-172.807.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/codeconnections.update-sync-blocker",
        "requestParameters": {
            "id": "ID",
            "syncType": "CFN_STACK_SYNC",
            "resourceName": "mystack",
            "resolvedReason": "Reason"
        },
        "responseElements": null,
        "requestID": "eea03b39-b299-4099-ba55-608480f8d96d",
        "eventID": "211d19db-9f71-4d93-bf90-10f9ddefed88",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

## `UpdateSyncConfiguration` 示例
<a name="w2aab5c25c39c61"></a>

以下示例显示了演示该[UpdateSyncConfiguration](https://docs.aws.amazon.com/codeconnections/latest/APIReference/API_UpdateSyncConfiguration.html)操作的 CloudTrail 日志条目。

```
{
    "EventId": "d961c94f-1881-4fe8-83bf-d04cb9f22577",
    "EventName": "UpdateSyncConfiguration",
    "ReadOnly": "false",
    "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "EventTime": "2024-01-24T17:40:55+00:00",
    "EventSource": "codeconnections.amazonaws.com",
    "Username": "Mary_Major",
    "Resources": [],
    "CloudTrailEvent": {
        "eventVersion": "1.08",
        "userIdentity": {
            "type": "AssumedRole",
            "principalId": "AIDACKCEVSQ6C2EXAMPLE",
            "arn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major",
            "accountId": "123456789012",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "sessionContext": {
                "sessionIssuer": {
                    "type": "Role",
                    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                    "arn": "arn:aws:iam::123456789012:role/Admin",
                    "accountId": "123456789012",
                    "userName": "Admin"
                },
                "webIdFederationData": {},
                "attributes": {
                    "creationDate": "2024-01-24T17:34:55Z",
                    "mfaAuthenticated": "false"
                }
            }
        },
        "eventTime": "2024-01-24T17:40:55Z",
        "eventSource": "codeconnections.amazonaws.com",
        "eventName": "UpdateSyncConfiguration",
        "awsRegion": "us-east-1",
        "sourceIPAddress": "IP",
        "userAgent": "aws-cli/2.15.11 Python/3.11.6Linux/5.10.205-172.804.amzn2int.x86_64exe/x86_64.amzn.2prompt/offcommand/codeconnections.update-sync-configuration",
        "requestParameters": {
            "branch": "feature-branch",
            "resourceName": "mystack",
            "syncType": "CFN_STACK_SYNC"
        },
        "responseElements": {
            "syncConfiguration": {
                "branch": "feature-branch",
                "configFile": "filename",
                "ownerId": "owner",
                "providerType": "GitHub",
                "repositoryLinkId": "6053346f-8a33-4edb-9397-10394b695173",
                "repositoryName": "MyGitHubRepo",
                "resourceName": "mystack",
                "roleArn": "arn:aws:iam::123456789012:role/my-role",
                "syncType": "CFN_STACK_SYNC"
            }
        },
        "requestID": "2ca545ef-4395-4e1f-b14a-2750481161d6",
        "eventID": "d961c94f-1881-4fe8-83bf-d04cb9f22577",
        "readOnly": false,
        "eventType": "AwsApiCall",
        "managementEvent": true,
        "recipientAccountId": "123456789012",
        "eventCategory": "Management",
        "tlsDetails": {
            "clientProvidedHostHeader": "api.us-east-1.codeconnections.aws.dev"
        }
    }
}
```

# AWS CodeConnections 和接口 VPC 终端节点 (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

您可以通过创建接*口 VPC 终端节点在您 AWS CodeConnections 的 VPC* 之间建立私有连接。接口端点由一项技术提供支持 [AWS PrivateLink](https://aws.amazon.com/privatelink)，该技术使您 AWS CodeConnections APIs 无需互联网网关、NAT 设备、VPN 连接或 Di AWS rect Connect 连接即可进行私密访问。您的 VPC 中的实例不需要公有 IP 地址即可与之通信 AWS CodeConnections APIs，因为您的 VPC 和 VPC 之间的流量 AWS CodeConnections 不会离开 Amazon 网络。

每个接口端点均由子网中的一个或多个[弹性网络接口](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)表示。

有关更多信息，请参阅《Amazon VPC 用户指南》**中的[接口 VPC 端点 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)。

## AWS CodeConnections VPC 终端节点的注意事项
<a name="vpc-endpoint-considerations"></a>

在为设置接口 VPC 终端节点之前 AWS CodeConnections，请务必查看 *Amazon VPC 用户指南*中的[接口终端节点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-interface-endpoints.html#vpc-endpoints-actions)。

AWS CodeConnections 支持从您的 VPC 调用其所有 API 操作。

所有 AWS CodeConnections 区域都支持 VPC 终端节点。

## VPC 终端节点概念
<a name="vpc-endpoint-concepts"></a>

以下是 VPC 终端节点的主要概念：

VPC 端点  
VPC 中可让您私下连接到服务的入口点。以下是不同类型的 VPC 终端节点。您可以创建受支持的服务所需要的 VPC 终端节点类型。  
+ [用于 AWS CodeConnections 操作的 VPC 终端节点](https://docs.aws.amazon.com/dtconsole/latest/userguide/vpc-interface-endpoints.html#vpc-endpoints-actions)
+ [网络挂钩的 VPC 终 AWS CodeConnections 端节点](https://docs.aws.amazon.com/dtconsole/latest/userguide/vpc-interface-endpoints.html#vpc-endpoints-webhooks)

AWS PrivateLink  
一种在 VPCs 和服务之间提供私有连接的技术。

## 用于 AWS CodeConnections 操作的 VPC 终端节点
<a name="vpc-endpoints-actions"></a>

您可以管理 AWS CodeConnections 服务的 VPC 终端节点。

### 为 AWS CodeConnections 操作创建接口 VPC 终端节点
<a name="vpc-endpoint-create"></a>

您可以使用 Amazon VPC 控制台或 AWS Command Line Interface (AWS CLI) 为 AWS CodeConnections 服务创建 VPC 终端节点。有关更多信息，请参阅《Amazon VPC User Guide》**中的 [Creating an interface endpoint](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)。

要开始使用与您的 VPC 的连接，请为创建接口 VPC 终端节点 AWS CodeConnections。为创建 VPC 终端节点时 AWS CodeConnections，选择**AWS 服务**，然后在**服务名称**中选择：
+ **com.amazonaws。 *region*.codestar-connections.api：**此选项为 API 操作创建 VPC 终端节点。 AWS CodeConnections 例如，如果您的用户使用 AWS CLI、 AWS CodeConnections API 或与之交互 AWS SDKs 来执行诸如、和之类 AWS CodeConnections 的操作 `CreateConnection``ListConnections`，请选择此选项`CreateHost`。

对于**启用 DNS 名称**选项，如果您为终端节点选择私有 DNS，则可以使用该区域的默认 DNS 名称发出 API 请求，例如`codestar-connections.us-east-1.amazonaws.com`。 AWS CodeConnections 

**重要**  
默认情况下，为服务和 M AWS arketplace 合作伙伴 AWS 服务创建的终端节点启用私有 DNS。

有关更多信息，请参阅《Amazon VPC 用户指南》**中的[通过接口端点访问服务](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint)。

### 为 AWS CodeConnections 操作创建 VPC 终端节点策略
<a name="vpc-endpoint-policy"></a>

您可以为 VPC 端点附加控制对 AWS CodeConnections的访问的端点策略。该策略指定以下信息：
+ 可执行操作的主体。
+ 可执行的操作。
+ 可对其执行操作的资源。

有关更多信息，请参阅《Amazon VPC 用户指南》**中的[使用 VPC 端点控制对服务的访问](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

**注意**  
com.amazonaws。 *region*.codestar-connections.webhooks 端点不支持策略。

**示例：用于 AWS CodeConnections 操作的 VPC 终端节点策略**  
以下是的终端节点策略示例 AWS CodeConnections。当连接到终端节点时，此策略授予所有委托人对所有资源 AWS CodeConnections 执行所列操作的访问权限。

```
{
  "Statement": [
    {
      "Sid": "GetConnectionOnly",
      "Principal": "*",
      "Action": [
        "codestar-connections:GetConnection"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

## 网络挂钩的 VPC 终 AWS CodeConnections 端节点
<a name="vpc-endpoints-webhooks"></a>

AWS CodeConnections 当您创建或删除具有 VPC 配置的主机时，会为您创建 webhook 终端节点。终端节点名称为 **com.amazonaws。 *region*.codestar-connections.webhooks。**

借助 GitHub Webhook 的 VPC 终端节点，主机可以通过 Webhook 通过 Amazon 网络将事件数据发送到您的集成 AWS 服务。

**重要**  
在为 GitHub 企业服务器设置主机时， AWS CodeConnections 会为您创建 Webhook 事件数据的 VPC 终端节点。如果您在 2020 年 11 月 24 日之前创建了主机，并且想要使用 VPC PrivateLink Webhook 终端节点，则必须先[删除](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-delete.html)主机，然后再[创建](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html)新主机。

AWS CodeConnections 管理这些端点的生命周期。要删除终端节点，您必须删除相应的主机资源。

### 如何使用 AWS CodeConnections 主机的 webhook 端点
<a name="vpc-webhook-endpoints"></a>

webhook 端点是发送来自第三方存储库的 Webhook 进行 AWS CodeConnections 处理的地方。Webhook 描述了客户操作。当您执行 `git push`，Webhook 终端节点会从提供程序接收一个详细说明推送的 Webhook。例如， AWS CodeConnections 可以通知启动 CodePipeline 您的管道。

对于不使用 VPC 的云提供商（例如 Bitbucket）或 GitHub 企业服务器主机，webhook VPC 终端节点不适用，因为这些提供商会将 webhook 发送到 AWS CodeConnections 未使用亚马逊网络的地方。

# 排除连接故障
<a name="troubleshooting-connections"></a>

以下信息可以帮助您解决 AWS CodeBuild AWS CodeDeploy、和中资源连接的常见问题 AWS CodePipeline。

**Topics**
+ [我无法创建连接](#troubleshooting-connections-cannot-create)
+ [当我尝试创建或完成连接时出现权限错误](#troubleshooting-connections-permissions-error-console)
+ [当我尝试使用连接时出现权限错误](#troubleshooting-connections-permissions-error-useconnection)
+ [Connection is not in available state or is no longer pending (确保您具有使用连接的权限，包括在提供程序位置列出可用存储库。连接不处于可用状态或不再处于待处理状态)](#troubleshooting-connections-error-notpending)
+ [为连接添加 GitClone 权限](#troubleshooting-connections-gitclone-permissions)
+ [主机不处于可用状态](#troubleshooting-connections-host-pending)
+ [故障排查有连接错误的主机](#troubleshooting-connections-host-errors)
+ [我无法为主机创建连接](#troubleshooting-connections-host-cannot-create)
+ [对主机的 VPC 配置进行故障排查](#troubleshooting-connections-host-vpc)
+ [GitHub 企业服务器连接的 webhook VPC 终端节点 (PrivateLink) 疑难解答](#troubleshooting-connections-host-vpc-webhook)
+ [对 2020 年 11 月 24 日之前创建的主机进行故障排查](#troubleshooting-connections-host-vpc-webhook-host)
+ [无法为 GitHub 存储库创建连接](#troubleshooting-connections-GitHub-admin)
+ [编辑您的 GitHub 企业服务器连接应用程序权限](#troubleshooting-GHES-app-permissions)
+ [连接时出现连接错误 GitHub：“出现问题，请确保您的浏览器已启用 Cookie” 或 “组织所有者必须安装 GitHub 应用程序”](#troubleshooting-GitHub-organization-owner)
+ [可能需要针对 IAM 策略更新资源中的连接服务前缀](#troubleshoot-service-prefix)
+ [由于使用控制台创建的资源中存在服务前缀，导致权限错误](#troubleshoot-service-prefix-console-permissions)
+ [已安装的提供商支持组织的连接和主机设置](#troubleshooting-organization-host)
+ [我想提高连接的限制](#troubleshooting-connections-limit-increase)

## 我无法创建连接
<a name="troubleshooting-connections-cannot-create"></a>

您可能无权创建连接。有关更多信息，请参阅 [的权限和示例 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md)。

## 当我尝试创建或完成连接时出现权限错误
<a name="troubleshooting-connections-permissions-error-console"></a>

当您尝试在 CodePipeline 控制台中创建或查看连接时，可能会返回以下错误消息。

用户:*username*无权*permission*在资源上执行:*connection-ARN*

If this message appears, make sure that you have sufficient permissions.（用户：username 无权对资源：connection-ARN 执行操作：permission。如果出现此消息，请确保您有足够的权限。）

在 AWS Command Line Interface (AWS CLI) 或中创建和查看连接的权限 AWS 管理控制台 只是您在控制台上创建和完成连接所需的权限的一部分。只执行查看、编辑或创建连接，然后完成待处理连接所需的权限，应该分配给仅需执行某些任务的用户。有关更多信息，请参阅 [的权限和示例 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md)。

## 当我尝试使用连接时出现权限错误
<a name="troubleshooting-connections-permissions-error-useconnection"></a>

如果您尝试在 CodePipeline 控制台中使用连接，即使您有权列出、获取和创建权限，也可能会返回以下一条或两条错误消息。

您无法对您的账户进行身份验证。

用户：无权*username*在资源上执行：codestar-connections：UseConnection *connection-ARN*

If this occurs, make sure that you have sufficient permissions. (您帐户的身份验证失败。用户：username 无权对资源：connection-ARN 执行：codestar-connections:UseConnection。如出现此消息，请确保您有足够的权限。)

Make sure you have the permissions to use a connection, including listing the available repositories in the provider location。有关更多信息，请参阅 [的权限和示例 AWS CodeConnections](security_iam_id-based-policy-examples-connections.md)。

## Connection is not in available state or is no longer pending (确保您具有使用连接的权限，包括在提供程序位置列出可用存储库。连接不处于可用状态或不再处于待处理状态)
<a name="troubleshooting-connections-error-notpending"></a>

如果控制台显示连接不处于可用状态的消息，请选择 **Complete connection (完成连接)**。

如果选择完成连接，并显示一条消息，指出连接未处于待处理状态，则可以取消请求，因为连接已处于可用状态。

## 为连接添加 GitClone 权限
<a name="troubleshooting-connections-gitclone-permissions"></a>

当您在源操作和操作中使用 AWS CodeStar 连接时，可以通过两种方式将输入构件传递给构建： CodeBuild 
+ 默认：源操作生成一个 zip 文件，其中包含要 CodeBuild下载的代码。
+ Git 克隆：源代码可以直接下载到构建环境中。

  Git 克隆模式允许您将源代码作为工作 Git 存储库进行交互。要使用此模式，必须向您的 CodeBuild 环境授予使用连接的权限。

要向您的 CodeBuild 服务角色策略添加权限，您需要创建一个附加到您的 CodeBuild 服务角色的客户托管策略。以下步骤会创建一个策略，其中 `UseConnection` 权限在 `action` 字段中指定，而 Amazon Resource Name (ARN) 在 `Resource` 字段中指定。

**使用控制台添加 UseConnection 权限**

1. 要查找管道的连接 ARN，请打开管道，然后在源操作中选择 (**i**) 图标。“配置” 窗格打开，连接 ARN 显示在旁边。**ConnectionArn**您将连接 ARN 添加到您的 CodeBuild 服务角色策略中。

1. 要查找您的 CodeBuild 服务角色，请打开管道中使用的构建项目，然后导航到**构建详细信息**选项卡。

1. 在 Environment (环境) 部分，选择 **Service role (服务角色)** 链接。这将打开 AWS Identity and Access Management (IAM) 控制台，您可以在其中添加授予连接访问权限的新策略。

1. 在 IAM 控制台中，选择 **Attach policies (附加策略)**，然后选择 **Create policy (创建策略)**。

   使用以下示例策略模板。将您的连接 ARN 添加到 `Resource` 字段，如此示例中所示。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "codestar-connections:UseConnection",
               "Resource": "arn:aws:iam::*:role/Service*"
           }
       ]
   }
   ```

------

   在存储库的 **JSON** 选项卡上，粘贴您的策略。

1. 选择**查看策略**。为策略输入名称（例如 **connection-permissions**），然后选择 **Create policy (创建策略)**。

1. 返回到服务角色 **Attach Permissions (附加权限)** 页面上，刷新策略列表，然后选择您刚才创建的策略。选择**附加策略**。​

## 主机不处于可用状态
<a name="troubleshooting-connections-host-pending"></a>

如果控制台显示一条消息，指出主机不处于 `Available` 状态，则选择 **Set up host (设置主机)**。

创建主机的第一步将导致创建的主机现在处于 `Pending` 状态。将主机变为 `Available` 状态时，必须选择在控制台中设置主机。有关更多信息，请参阅 [设置待处理的主机](connections-host-setup.md)。

**注意**  
您不能使用 C AWS LI 来设置`Pending`主机。

## 故障排查有连接错误的主机
<a name="troubleshooting-connections-host-errors"></a>

如果底层 GitHub 应用程序被删除或修改，连接和主机可能会进入错误状态。无法恢复处于错误状态的主机和连接，必须重新创建主机。
+ 更改应用程序 pem 密钥、更改应用名称（初始创建后）等操作将导致主机和所有相关连接变为错误状态。

如果控制台或 CLI 返回 `Error` 状态的主机或与此类主机相关的连接，您可能需要执行以下步骤：
+ 删除并重新创建主机资源，然后重新安装主机注册应用程序。有关更多信息，请参阅 [创建主机](connections-host-create.md)。

## 我无法为主机创建连接
<a name="troubleshooting-connections-host-cannot-create"></a>

 

要创建连接或主机，必须满足以下条件。
+ 您的主机必须处于 **AVAILABLE (可用)** 状态。有关更多信息，请参阅 
+ 连接必须在与主机相同的区域中创建。

## 对主机的 VPC 配置进行故障排查
<a name="troubleshooting-connections-host-vpc"></a>

创建主机资源时，必须为安装 GitHub 企业服务器实例的基础设施提供网络连接或 VPC 信息。要对主机的 VPC 或子网配置进行故障排查，请使用此处显示的示例 VPC 信息作为参考。

**注意**  
使用本节排除与 Amazon VPC 中的 GitHub 企业服务器主机配置相关的疑难解答。有关与配置为使用 VPC 的 webhook 终端节点 (PrivateLink) 的连接相关的疑难解答，请参阅[GitHub 企业服务器连接的 webhook VPC 终端节点 (PrivateLink) 疑难解答](#troubleshooting-connections-host-vpc-webhook)。

在本示例中，您将使用以下过程来配置将安装 GitHub 企业服务器实例的 VPC 和服务器：

1. 创建 VPC。有关更多信息，请参阅 [https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC)。

1. 在您的 VPC 中创建子网。有关更多信息，请参阅 [https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet)。

1. 将实例启动到 VPC 中。有关更多信息，请参阅 [https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Launch_Instance](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#VPC_Launch_Instance)。

**注意**  
每个 VPC 一次只能与一台主机（GitHub 企业服务器实例）关联。

下图显示了使用 GitHub 企业 AMI 启动的 EC2 实例。

![\[显示实例描述的控制台屏幕截图\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/instance-vpc.png)


当您使用 VPC 进行 GitHub 企业服务器连接时，在设置主机时必须为基础设施提供以下内容：
+ **VPC ID：**安装 GitHub企业服务器实例的服务器的 VPC 或可以通过 VPN 或 Direct Connect 访问已安装的 GitHub企业服务器实例的 VPC。
+ **子网 ID 或 IDs：**安装 GitHub 企业服务器实例的服务器的子网，或者可以通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的子网。
+ 一个@@ **或多个安全组：**安装 GitHub 企业服务器实例的服务器的安全组，或者可以通过 VPN 或 Direct Connect 访问已安装的 GitHub 企业服务器实例的安全组。
+ **终端节点：**准备好您的服务器终端节点，并继续下一步。

有关使用 VPCs 和子网的更多信息，请参阅 *Amazon VPC 用户指南 IPv4中的 VPC* [和子网大小](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)。

**Topics**
+ [我无法获取处于待处理状态的主机](#troubleshooting-connections-host-vpc-failed)
+ [我无法获取处于可用状态的主机](#troubleshooting-connections-host-vpc-app)
+ [我 connection/host 当时在工作，现在已经停止工作了](#troubleshooting-connections-host-vpc-stopped)
+ [我无法删除我的网络接口](#troubleshooting-connections-host-vpc-delete)

### 我无法获取处于待处理状态的主机
<a name="troubleshooting-connections-host-vpc-failed"></a>

如果您的主机进入 VPC\$1CONFIG\$1FAILED\$1INITIALIZATION 状态，这很可能是因为您为主机选择的 VPC、子网或安全组存在问题。
+ VPC、子网和安全组必须全部属于创建主机的账户。
+ 子网和安全组必须属于所选 VPC。
+ 每个提供的子网必须位于不同的可用区。
+ 创建主机的用户必须具有以下 IAM 权限：

  ```
  ec2:CreateNetworkInterface
  ec2:CreateTags
  ec2:DescribeDhcpOptionsec2:DescribeNetworkInterfaces
  ec2:DescribeSubnets
  ec2:DeleteNetworkInterface
  ec2:DescribeVpcs
  ec2:CreateVpcEndpoint
  ec2:DeleteVpcEndpoints
  ec2:DescribeVpcEndpoints
  ```

### 我无法获取处于可用状态的主机
<a name="troubleshooting-connections-host-vpc-app"></a>

如果您无法完成主机的 CodeConnections 应用程序设置，则可能是因为您的 VPC 配置或 GitHub 企业服务器实例存在问题。
+ 如果您未使用公共证书颁发机构，则需要向您的主机提供 GitHub 企业实例使用的 TLS 证书。TLS 证书值应该是证书的公有密钥。
+ 要创建 GitHub 应用程序，您需要是 GitHub 企业服务器实例的管理员。

### 我 connection/host 当时在工作，现在已经停止工作了
<a name="troubleshooting-connections-host-vpc-stopped"></a>

如果 a connection/host 以前运行但现在无法运行，则可能是由于您的 VPC 中的配置更改或 GitHub 应用程序已被修改所致。请检查以下事项：
+ 连接到您为连接创建的主机资源的安全组现已更改或无法再访问 GitHub 企业服务器。 CodeConnections 需要一个可以连接到 GitHub 企业服务器实例的安全组。
+ DNS 服务器 IP 最近发生了更改。您可以通过检查连接到您为连接创建的主机资源中指定的 VPC 的 DHCP 选项来验证这一点。请注意，如果您最近从 AmazonProvided DNS 迁移到自定义 DNS 服务器或开始使用新的自定义 DNS 服务器，则 host/connection 会停止运行。为了解决这个问题，请删除您现有的主机并重新创建它，这将在我们的数据库中存储最新的 DNS 设置。
+ 网络 ACLs 设置已更改，不再允许 HTTP 连接到您的 GitHub 企业服务器基础架构所在的子网。
+  GitHub 企业服务器上该 CodeConnections 应用程序的所有配置均已更改。对任何配置（例如 URLs 或应用程序密钥）的修改都可能导致已安装的 En GitHub terprise Server 实例与之间的连接中断 CodeConnections。

### 我无法删除我的网络接口
<a name="troubleshooting-connections-host-vpc-delete"></a>

如果无法检测到网络接口，请确认以下内容：
+  CodeConnections 只能通过删除主机来删除由创建的网络接口。用户不能手动删除它们。
+ 您必须拥有以下权限：

  ```
  ec2:DescribeNetworkInterfaces
  ec2:DeleteNetworkInterface
  ```

## GitHub 企业服务器连接的 webhook VPC 终端节点 (PrivateLink) 疑难解答
<a name="troubleshooting-connections-host-vpc-webhook"></a>

当您创建具有 VPC 配置的主机时，会为您创建 Webhook VPC 终端节点。

**注意**  
使用此部分对配置为使用 VPC 的 webhook 终端节点的连接进行故障排除 (PrivateLink)。有关与 Amazon VPC 中的 GitHub 企业服务器主机配置相关的疑难解答，请参阅[对主机的 VPC 配置进行故障排查](#troubleshooting-connections-host-vpc)。

当您创建与已安装提供商的连接时，您已指定您的服务器配置在 VPC 内，然后 AWS CodeConnections 创建您的主机，并为您创建 Webhook 的 VPC 终端节点 (PrivateLink)。这使主机能够通过 Webhook 通过 Amazon 网络将事件数据发送到您的集成 AWS 服务。有关更多信息，请参阅 [AWS CodeConnections 和接口 VPC 终端节点 (AWS PrivateLink)](vpc-interface-endpoints.md)。

**Topics**
+ [我无法删除我的 Webhook VPC 终端节点](#troubleshooting-connections-host-vpc-webhook-delete)

### 我无法删除我的 Webhook VPC 终端节点
<a name="troubleshooting-connections-host-vpc-webhook-delete"></a>

AWS CodeConnections 管理主机的 webhook VPC 终端节点的生命周期。要删除终端节点，您必须删除相应的主机资源。
+ 创建的 webhook VPC 终端节点 (PrivateLink) CodeConnections 只能通过[删除](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-delete.html)主机来删除。无法手动删除它们。
+ 您必须拥有以下权限：

  ```
  ec2:DescribeNetworkInterfaces
  ec2:DeleteNetworkInterface
  ```

## 对 2020 年 11 月 24 日之前创建的主机进行故障排查
<a name="troubleshooting-connections-host-vpc-webhook-host"></a>

自 2020 年 11 月 24 日起，在 AWS CodeConnections 设置主机时，将为您设置额外的 VPC 终端节点 (PrivateLink) 支持。对于在此更新之前创建的主机，请使用此故障排查内容。

有关更多信息，请参阅 [AWS CodeConnections 和接口 VPC 终端节点 (AWS PrivateLink)](vpc-interface-endpoints.md)。

**Topics**
+ [我有一台在 2020 年 11 月 24 日之前创建的主机，我想将 VPC 终端节点 (PrivateLink) 用于 webhook](#troubleshooting-connections-host-vpc-webhook-create)
+ [我无法获取处于可用状态的主机（VPC 错误）](#troubleshooting-connections-host-vpc-error-pre-webhook)

### 我有一台在 2020 年 11 月 24 日之前创建的主机，我想将 VPC 终端节点 (PrivateLink) 用于 webhook
<a name="troubleshooting-connections-host-vpc-webhook-create"></a>

在为 GitHub 企业服务器设置主机时，将为您创建 webhook 端点。连接现在使用 VPC PrivateLink Webhook 终端节点。如果您在 2020 年 11 月 24 日之前创建了主机，并且想要使用 VPC PrivateLink Webhook 终端节点，则必须先[删除](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-delete.html)主机，然后再[创建](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-host-create.html)新主机。

### 我无法获取处于可用状态的主机（VPC 错误）
<a name="troubleshooting-connections-host-vpc-error-pre-webhook"></a>

如果您的主机是在 2020 年 11 月 24 日之前创建的，并且您无法完成主机的 CodeConnections 应用程序设置，则可能是因为您的 VPC 配置或 GitHub 企业服务器实例存在问题。

您的 VPC 需要一个 NAT 网关（或出站互联网接入），这样您的 GitHub企业服务器实例才能为 GitHub Webhook 发送出口网络流量。

## 无法为 GitHub 存储库创建连接
<a name="troubleshooting-connections-GitHub-admin"></a>

**问题：**

由于与 GitHub 存储库的连接使用 AWS 连接器 GitHub，因此您需要组织所有者权限或仓库管理员权限才能创建连接。

**可能的修复方法：**有关 GitHub 存储库权限级别的信息，请参阅 [https://docs.github.com/en/free-pro-team@ latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization](https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization)。

## 编辑您的 GitHub 企业服务器连接应用程序权限
<a name="troubleshooting-GHES-app-permissions"></a>

如果您在 2020 年 12 月 23 日当天或之前安装了适用于 GitHub 企业服务器的应用程序，则可能需要向组织成员授予该应用程序只读访问权限。如果您是 GitHub 应用程序所有者，请按照以下步骤编辑创建主机时安装的应用程序的权限。

**注意**  
您必须在 E GitHub nterprise Server 实例上完成这些步骤，并且必须是 GitHub 应用程序所有者。

1. 在 E GitHub nterprise Server 中，从个人资料照片的下拉选项中选择 “**设置”**。

1. 选择 “**开发者设置”**，然后选择 “**GitHub应用程序**”。

1. 在应用程序列表中，为您的连接选择应用程序的名称，然后在设置显示中选择 **Permissions and events (权限和事件)**。

1. 在 **Organization permissions**（组织权限）下，对于 **Members**（成员），从 **Access**（访问权限）下拉列表中选择 **Read-only**（只读）。  
![\[Organization permissions interface showing Members access set to Read-only from dropdown menu.\]](http://docs.aws.amazon.com/zh_cn/dtconsole/latest/userguide/images/ghes-app-permissions.png)

1. 在 **Add a note to users (向用户添加注释)** 下，添加更新原因的说明。选择**保存更改**。

## 连接时出现连接错误 GitHub：“出现问题，请确保您的浏览器已启用 Cookie” 或 “组织所有者必须安装 GitHub 应用程序”
<a name="troubleshooting-GitHub-organization-owner"></a>

**问题：**

要为 GitHub 存储库创建连接，您必须是 GitHub 组织所有者。对于不属于组织的存储库，您必须是存储库拥有者。当连接由非组织拥有者的其他用户创建时，将针对组织拥有者创建请求，并显示以下错误之一：

出现问题，请确保在浏览器中启用 Cookie

或

组织所有者必须安装该 GitHub 应用程序

**可能的修复方法：**对于 GitHub组织中的仓库，组织所有者必须创建与 GitHub 存储库的连接。对于不属于组织的存储库，您必须是存储库拥有者。

## 可能需要针对 IAM 策略更新资源中的连接服务前缀
<a name="troubleshoot-service-prefix"></a>

2024 年 3 月 29 日，该服务从 C AWS CodeStar onnections 更名为。 AWS CodeConnections从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。使用控制台创建的资源的服务前缀是`codeconnections`。在 SDK/CLI 资源 ARN `codeconnections` 中创建新资源。创建的资源将自动使用新的服务前缀。

以下是在中创建的资源 AWS CodeConnections：
+ Connections
+ 主机

**问题：**

在 ARN `codestar-connections` 中创建的资源不会自动重命名为资源 ARN 中的新服务前缀。创建新资源将创建具有连接服务前缀的资源。但是，带有`codestar-connections`服务前缀的 IAM 策略不适用于具有新服务前缀的资源。

**可能的修复方法：**要避免资源的访问或权限问题，请完成以下操作：
+ 为新的服务前缀更新 IAM 策略。否则，重命名或创建的资源将无法使用 IAM 策略。
+ 使用控制台或通过创建新服务前缀来更新资源CLI/CDK/CFN。

根据需要更新策略中的操作、资源和条件。在以下示例中，两个服务前缀的`Resource`字段均已更新。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "codeconnections:UseConnection"
        ],
        "Resource": [
            "arn:aws:codestar-connections:*:*:connection/*",
            "arn:aws:codeconnections:*:*:connection/*"
        ]
    }
}
```

------

## 由于使用控制台创建的资源中存在服务前缀，导致权限错误
<a name="troubleshoot-service-prefix-console-permissions"></a>

当前，使用控制台创建的连接资源将只有`codestar-connections`服务前缀。对于使用控制台创建的资源，策略声明操作必须包含`codestar-connections`作为服务前缀。

**注意**  
从 2024 年 7 月 1 日起，控制台将在资源 ARN `codeconnections` 中创建与的连接。带有两个服务前缀的资源将继续显示在控制台中。

**问题：**

使用控制台创建连接资源时，策略中必须使用`codestar-connections`服务前缀。使用策略中带有`codeconnections`服务前缀的策略时，使用控制台创建的连接资源会收到以下错误消息：

```
User: user_ARN is not authorized to perform: codestar-connections:action on resource: resource_ARN because no identity-based policy allows the codestar-connections:action action
```

**可能的修复方法：**对于使用控制台创建的资源，策略声明操作必须包含`codestar-connections`作为服务前缀，如中的策略示例所示[示例：使用控制台创建 AWS CodeConnections 的策略](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-console)。

## 已安装的提供商支持组织的连接和主机设置
<a name="troubleshooting-organization-host"></a>

对于已安装的支持组织的提供程序（例如 Organi GitHub zations），您不会传递可用的主机。您可以为组织中的每个连接创建一个新主机，并确保在以下网络字段中输入相同的信息：
+ ** - VPC ID**
+ **子网 ID**
+ **安全组 IDs**

要创建 [GHES 连接或[GitLab 自管理](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-gitlab-managed.html)连接](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-gheserver.html)，请参阅相关步骤。

## 我想提高连接的限制
<a name="troubleshooting-connections-limit-increase"></a>

您可以在中申请提高某些限额的限额 CodeConnections。有关更多信息，请参阅 [连接的配额](limits-connections.md)。

# 连接的配额
<a name="limits-connections"></a>

下表列出了开发工具控制台中连接的配额（也称为*限制*)。

此表中的配额按规定适用， AWS 区域 并且可以增加。有关 AWS 区域 和可以更改的限额的信息，请参阅 [AWS service quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。

**注意**  
您必须 AWS 区域 先启用欧洲（米兰），然后才能使用它。有关更多信息，请参阅[启用区域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。


| 资源 | 默认限制 | 
| --- | --- | 
|  每台的最大连接数 AWS 账户  |  250  | 

此表中的配额是固定的，不能更改。


| 资源 | 默认限制 | 
| --- | --- | 
|  连接名称中的最大字符数  | 32 个字符 | 
|  每台主机的最大数量 AWS 账户  | 50 | 
| 最大存储库链接数 | 100 | 
|  CloudFormation 堆栈同步配置的最大数量 | 100 | 
| 每个存储库链接的最大同步配置数 | 100 | 
| 每个分支的最大同步配置数 | 50 | 

# 要添加到允许列表的 IP 地址
<a name="connections-ip-address"></a>

如果您实施 IP 筛选或允许在 Amazon EC2 实例上使用某些 IP 地址，请将以下 IP 地址添加到您的允许列表中。这样做可以实现与提供商（例如 GitHub 和 Bitbucket）的连接。

下表按 AWS 区域列出了开发人员工具控制台中连接的 IP 地址。

**注意**  
对于欧洲地区（米兰）区域，必须先启用此区域，然后才能使用它。有关更多信息，请参阅[启用区域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable)。


| 区域 | IP 地址 | 
| --- | --- | 
|  美国西部（俄勒冈州）(us-west-2)  |  35.160.210.199、54.71.206.108、54.71.36.205  | 
| 美国东部（弗吉尼亚州北部）(us-east-1) |  3.216.216.90、3.216.243.220、3.217.241.85  | 
| 欧洲地区（爱尔兰）(eu-west-1) |  34.242.64.82、52.18.37.201、54.77.75.62  | 
| 美国东部（俄亥俄州）(us-east-2)  |  18.217.188.190、18.218.158.91、18.220.4.80  | 
| 亚太地区（新加坡）(ap-southeast-1)  |  18.138.171.151、18.139.22.70、3.1.157.176  | 
| 亚太地区（悉尼）(ap-southeast-2)  |  13.236.59.253、52.64.166.86、54.206.1.112  | 
| 亚太地区（东京）(ap-northeast-1)  |  52.196.132.231、54.95.133.227、18.181.13.91  | 
| 欧洲地区（法兰克福）(eu-central-1)  |  18.196.145.164、3.121.252.59、52.59.104.195  | 
| 亚太地区（首尔）(ap-northeast-2)  |  13.125.8.239、13.209.223.177、3.37.200.23  | 
| 亚太地区（孟买）(ap-south-1)  |  13.234.199.152、13.235.29.220、35.154.230.124  | 
| 南美洲（圣保罗）（sa-east-1）  |  18.229.77.26、54.233.226.52、54.233.207.69  | 
| 加拿大（中部）(ca-central-1)  |  15.222.219.210、35.182.166.138、99.79.111.198  | 
| 欧洲（伦敦）(eu-west-2)  |  3.9.97.205、35.177.150.185、35.177.200.225  | 
| 美国西部（北加利福尼亚）(us-west-1)  |  52.52.16.175、52.8.63.87  | 
| 欧洲地区（巴黎）（eu-west-3）  |  35.181.127.138、35.181.145.22、35.181.20.200  | 
| 欧洲地区（斯德哥尔摩）(eu-north-1) |  13.48.66.148、13.48.8.79、13.53.78.182  | 
| 欧洲（米兰）(eu-south-1) |  18.102.28.105、18.102.35.130、18.102.8.116  | 
| AWS GovCloud （美国东部） | 18.252.168.157、18.252.207.77、18.253.185.119 | 