

终止支持通知：2026 年 10 月 7 日， AWS 将终止对的支持。 AWS Proton 2026 年 10 月 7 日之后，您将无法再访问 AWS Proton 控制台或 AWS Proton 资源。您部署的基础架构将保持不变。有关更多信息，请参阅《[AWS Proton 服务弃用和迁移指南》](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)。

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

# EventBridgeTutorial: 向亚马逊简单通知服务发送 AWS Proton 服务状态变更提醒
<a name="event-tutorial-sns"></a>

在本教程中，您将使用 AWS Proton 预先配置*的事件规则*来捕获 AWS Proton 服务的状态变化。 EventBridge将状态更改发送到 Amazon SNS 主题。您订阅了该主题，Amazon SNS 就会向您发送服务状态变更电子邮件。 AWS Proton 

## 先决条件
<a name="event-tutorial-sns-prereq"></a>

您有一个`Active`状态为的现有 AWS Proton 服务。作为本教程的一部分，您可以将服务实例添加到该服务中，然后删除这些实例。

如果您需要创建 AWS Proton 服务，请参阅[入门 AWS Proton](ag-getting-started.md)。有关更多信息，请参阅[AWS Proton 配额](ag-limits.md)和[编辑服务](ag-svc-update.md)。

## 步骤 1：创建并订阅 Amazon SNS 主题
<a name="event-tutorial-sns-step1"></a>

创建一个 Amazon SNS 主题以作为在步骤 2 中创建的*事件规则* 的*事件目标*。

**创建 Amazon SNS 主题**

1. 登录并打开 [Amazon SNS 控制台](https://console.aws.amazon.com//sns/v3/)。

1. 在导航窗格中，选择**主题** > **创建主题**。

1. 在**创建主题**页面中：

   1. 为**类型**选择**标准**。

   1. 对于**名称**，输入 **tutorial-service-status-change** 并选择**创建主题**。

1. 在**tutorial-service-status-change**详情页面中，选择**创建订阅**。

1. 在**创建订阅**页面中：

   1. 对于**协议**，选择**电子邮件**。

   1. 对于**端点**，输入您当前有权访问的电子邮件地址，然后选择 **创建订阅**。

1. 检查您的电子邮件账户，并等待接收订阅确认电子邮件。在收到该电子邮件后，将其打开并选择**确认订阅**。

## 步骤 2：注册事件规则
<a name="event-tutorial-ebridge-step2"></a>

注册可捕获 AWS Proton 服务状态更改*的事件规则*。有关更多信息，请参阅 [先决条件](#event-tutorial-sns-prereq)。

**创建一个事件规则。**

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

1. 在导航窗格中，依次选择 **Events** 和 **Rules**。

1. 在**规则**页面上的**规则**部分中，选择**创建规则**。

1. 在**创建规则**页面中：

   1. 在**名称和描述**部分中，为**名称**输入 **tutorial-rule**。

   1. 在**定义模式**部分中，选择**事件模式**。

      1. 对于**事件匹配模式**，选择**按服务预定义模式**。

      1. 对于 **Service provider**（服务提供商），选择 **AWS**。

      1. 对于 **Service name**（服务名称），选择 **AWS Proton**。

      1. 对于**事件类型**，选择 **AWS Proton 服务状态更改**。

         将在文本编辑器中显示**事件模式**。

      1. 打开 [AWS Proton 控制台](https://console.aws.amazon.com//proton/)。

      1. 在导航窗格中，选择**服务**。

      1. 在**服务**页面中，选择您的 AWS Proton 服务名称。

      1. 在**服务详细信息**页面中，复制服务 Amazon 资源名称 (ARN)。

      1. 返回*EventBridge 控制台*和您的教程规则，然后在文本**编辑器中选择 “**编辑”。

      1. 在文本编辑器中，为 `"resources":` 输入您在步骤 viii 中复制的服务 ARN。

         ```
         {
             "source": ["aws.proton"],
             "detail-type": ["AWS Proton Service Status Change"],
             "resources": ["arn:aws:proton:{{region-id}}:{{123456789012}}:service/{{your-service}}"]
         }
         ```

      1. **保存**事件模式。

   1. 在**选择目标**部分中：

      1. 对于 **Target (目标)**，选择 **SNS topic (SNS 主题)**。

      1. 对于 “**主题**”，选择**tutorial-service-status-change**。

   1. 选择**创建**。

## 步骤 3：测试您的事件规则
<a name="event-tutorial-ebridge-step3"></a>

通过向 AWS Proton 服务添加实例，验证您的*事件规则*是否正常运行。

1. 切换到 [AWS Proton 控制台](https://console.aws.amazon.com//proton/)。

1. 在导航窗格中，选择**服务**。

1. **在服务**页面中，选择您的服务的名称。

1. 在**服务详细信息**页面中，选择**编辑**。

1. 在**配置服务**页面中，选择**下一步**。

1. 在**配置自定义设置**页面上的**服务实例**部分中，选择**添加新实例**。

1. 填写**新实例**的表单：

   1. 输入新实例的**名称**。

   1. 选择您为现有实例选择的*相同兼容环境*。

   1. 输入所需输入的值。

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

1. 检查您的输入并选择**更新**。

1. **服务状态变**为后`Active`，请查看您的电子邮件以确认您收到了提供状态更新的 AWS 通知。

   ```
   {
       "version": "0",
       "id": "af76c382-2b3c-7a0a-cf01-936dff228276",
       "detail-type": "AWS Proton Service Status Change",
       "source": "aws.proton",
       "account": "123456789012",
       "time": "2021-06-29T20:40:16Z",
       "region": "region-id",
       "resources": ["arn:aws:proton:region-id:123456789012:service/your-service"],
       "detail": {
           "previousStatus": "ACTIVE",
           "status": "UPDATE_IN_PROGRESS",
           "name": "your-service"
       }
   }
   ```

   ```
   {
       "version": "0",
       "id": "87131e29-ad95-bda2-cd30-0ce825dfb0cd",
       "detail-type": "AWS Proton Service Status Change",
       "source": "aws.proton",
       "account": "123456789012",
       "time": "2021-06-29T20:42:27Z",
       "region": "region-id",
       "resources": ["arn:aws:proton:region-id:123456789012:service/your-service"],
       "detail": {
           "previousStatus": "UPDATE_IN_PROGRESS",
           "status": "ACTIVE",
           "name": "your-service"
       }
   }
   ```

## 步骤 4：清除
<a name="event-tutorial-ebridge-step4"></a>

删除您的 Amazon SNS 主题和订阅，然后删除您的 EventBridge 规则。

**删除您的 Amazon SNS 主题和订阅。**

1. 导航到 [Amazon SNS 控制台](https://console.aws.amazon.com//sns/v3/)。

1. 在导航面板中，选择**订阅**。

1. 在**订阅**页面中，选择您对名为 `tutorial-service-status-change` 的主题进行的订阅，然后选择**删除**。

1. 在导航面板中，选择**主题**。

1. 在**主题**页面中，选择名为 `tutorial-service-status-change` 的主题，然后选择**删除**。

1. 一个模态框提示您确认删除。按照说明进行操作并选择**删除**。

**删除您的 EventBridge 规则。**

1. 导航至 [Amazon EventBridge 控制台](https://console.aws.amazon.com//events/)。

1. 在导航窗格中，依次选择 **Events** 和 **Rules**。

1. 在**规则**页面中，选择名为 `tutorial-rule` 的规则，然后选择**删除**。

1. 一个模态框提示您确认删除。选择**删除**。

**删除添加的服务实例。**

1. 导航至 [AWS Proton 控制台](https://console.aws.amazon.com//proton/)。

1. 在导航窗格中，选择**服务**。

1. 在**服务**页面中，选择您的服务的名称。

1. 在**服务**详细信息页面中，选择**编辑**，然后选择**下一步**。

1. 在**配置自定义设置**页面上的**服务实例**部分中，为您在本教程中创建的服务实例选择**删除**，然后选择**下一步**。

1. 检查您的输入并选择**更新**。

1. 一个模态框提示您确认删除。按照说明进行操作并选择**是，删除**。