本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:设置 CloudWatch 事件规则以接收有关管道状态更改的电子邮件通知
在中设置管道后 AWS CodePipeline,您可以设置 CloudWatch 事件规则,以便在管道的执行状态或管道中的阶段或操作发生变化时发送通知。有关使用 CloudWatch 事件设置管道状态更改通知的更多信息,请参阅监视 CodePipeline 事件。
在本教程中,您配置一个通知以在管道状态变为 FAILED 时发送电子邮件。本教程在创建 CloudWatch 事件规则时使用输入转换器方法。它转换消息架构详细信息以在用户可读的文本中传送消息。
注意
在为本教程创建资源(例如 Amazon SNS 通知和 CloudWatch 事件规则)时,请确保在与您的管道相同的 AWS 区域创建这些资源。
步骤 1:使用 Amazon SNS 设置电子邮件通知
Amazon SNS 协调使用的主题以将消息传送到订阅端点或客户端。可以使用 Amazon SNS 创建一个通知主题,然后使用您的电子邮件地址订阅该主题。Amazon SNS 主题将作为目标添加到您的 CloudWatch 事件规则中。有关更多信息,请参阅《Amazon Simple Notification Service 开发人员指南》https://docs.aws.amazon.com/sns/latest/dg/。
在 Amazon SNS 中创建或标识主题。 CodePipeline 将使用 CloudWatch 活动通过 Amazon SNS 向该主题发送通知。要创建主题,请执行以下操作:
-
打开亚马逊 SNS 控制台,网址为 https://console.aws.amazon.com/sns。
-
选择创建主题。
-
在 Create new topic (创建新主题) 对话框中,为 Topic name (主题名称) 键入主题名(例如
PipelineNotificationTopic
)。 -
选择创建主题。
有关更多信息,请参阅 Amazon SNS 开发者指南 中的创建主题。
为一个或多个收件人订阅主题以接收电子邮件通知。为收件人订阅主题:
-
在 Amazon SNS 控制台中,从主题列表中,选中新主题旁边的复选框。选择操作,然后选择“订阅主题”。
-
在创建订阅对话框中,确认在主题 ARN 中显示一个 ARN。
-
对于协议,选择电子邮件。
-
对于终端节点,请键入收件人的完整电子邮件地址。
-
选择创建订阅。
-
Amazon SNS 向收件人发送订阅确认电子邮件。要接收电子邮件通知,收件人必须在该电子邮件中选择确认订阅链接。在收件人单击该链接后,如果成功订阅,Amazon SNS 将在收件人的 Web 浏览器中显示一条确认消息。
有关更多信息,请参阅 Amazon SNS 开发者指南 中的订阅主题。
步骤 2:创建规则并将 SNS 主题添加为目标
创建以 CodePipeline 作为 CloudWatch 事件源的事件通知规则。
打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/
。 -
在导航窗格中,选择 Events(事件)。
-
选择创建规则。在事件源下面,选择 AWS CodePipeline。对于事件类型,请选择管道执行状态更改。
-
选择特定状态,然后选择
FAILED
。 -
对于事件模式预览窗格,请选择编辑以打开 JSON 编辑器。添加
pipeline
参数以及管道名称,如以下示例中名为“myPipeline”的管道所示。您可以复制此处的事件模式并将其粘贴到控制台中:
{ "source": [ "aws.codepipeline" ], "detail-type": [ "CodePipeline Pipeline Execution State Change" ], "detail": { "state": [ "FAILED" ], "pipeline": [ "myPipeline" ] } }
-
对于目标,选择添加目标。
-
在目标列表中,选择 SNS 主题。对于主题,请输入刚创建的主题。
-
展开配置输入,然后选择输入转换器。
-
在输入路径框中,键入以下键值对。
{ "pipeline" : "$.detail.pipeline" }
在输入模板框中,键入以下内容:
"The Pipeline <pipeline> has failed."
-
选择 Configure details(配置详细信息)。
-
在配置规则详细信息页中,键入一个名称和可选的描述。对于状态,请将已启用框保持选中状态。
-
选择创建规则。
-
确认现在 CodePipeline 正在发送构建通知。例如,检查您的收件箱中现在是否有构建通知电子邮件。
-
要更改规则的行为,请在 CloudWatch 控制台中选择规则,然后选择操作、编辑。编辑该规则,选择配置详细信息,然后选择更新规则。
要停止使用规则发送生成通知,请在 CloudWatch 控制台中选择规则,然后选择操作,禁用。
要删除规则,请在 CloudWatch 控制台中选择规则,然后选择操作,删除。
步骤 3:清理资源
完成本教程之后,您应该删除管道及其使用的资源,以避免为继续使用这些资源付费。
有关如何清理 SNS 通知和删除亚马逊 CloudWatch 事件规则的信息,请参阅清理(取消订阅亚马逊 SNS 主题)和《亚马逊活动 API 参考》DeleteRule
中的参考资料。 CloudWatch