

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

# 使用 Amazon EventBridge 自动执行节省计划
<a name="automating-savingsplans-with-eventbridge"></a>

EventBridge 可帮助您自动执行 Amazon 服务并自动响应系统事件，例如应用程序可用性问题或资源更改。Amazon 服务中的事件将近乎实时地传输到 EventBridge。尽最大努力发布事件。EventBridge 会根据您创建的规则，在事件与在规则中指定的值匹配时，调用一个或多个目标操作。

可自动触发的操作包括：
+ 调用 Amazon Lambda 函数
+ 调用 Amazon EC2 Run Command
+ 将事件中继到 Amazon Kinesis Data Streams
+ 激活 Amazon Step Functions 状态机
+ 通知 Amazon SNS 主题或 Amazon SMS 队列

一些将 CloudWatch Events 与节省计划结合使用的示例包括：
+ 当节省计划停用时激活 Lambda 函数。
+ 当节省计划标记为 `payment-failed` 或 `active` 时通知 Amazon SNS 主题。

有关更多信息，请参阅 [Amazon CloudWatch Events 用户指南](https://docs.amazonaws.cn/AmazonCloudWatch/latest/events/)。

## 来自节省计划的示例事件
<a name="SP-event-samples"></a>

本节包括来自节省计划的示例事件。节省计划会生成两种类型的事件。状态更改时触发的状态更改事件，以及用于通知将在一天或七天内即将发生的状态更改提醒事件。

### 节省计划状态更改事件
<a name="SP-state-change"></a>

当节省计划从一种状态过渡到另一种状态时，就会生成节省计划的状态更改。例如，`payment-pending` 状态更改为 `active`，或者 `active` 状态更改为 `retired`。

```
{
    "version": "0",
    "id": "999cccaa-eaaa-0000-1111-123456789012",
    "detail-type": "Savings Plans State Change",
    "source": "aws.savingsplans",
    "account": "123456789012",
    "time": "2020-09-16T20:43:05Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:savingsplans::123456789012:savingsplan/07ec53ab-91c3-4ac5-bde6-79fd53192252"
    ],
    "detail": {
        "severity": "INFO",
        "previousState": "payment-pending",
        "currentState": "active",
        "message": "PaymentSuccessful"
    }
}
```

状态更改事件包含资源 (节省计划 ARN)、之前的状态、当前的状态、严重性和消息的字段。


**状态更改事件的可能值**  

| 之前的状态 | 当前的状态 | 严重性 | 消息 | 
| --- | --- | --- | --- | 
| queued | payment-pending | INFO | `QueuedPurchaseFulfillment` | 
| queued | payment-failed | ERROR | `LimitExceededException` <br />或 <br />`SavingsPlanOfferingNotAvailableException` | 
| queued | queued-deleted | INFO | `SavingsPlanQueuedDeleted` | 
| payment-pending | active | INFO | `PaymentSuccessful` | 
| payment-pending | payment-failed | ERROR | `LimitExceededException` <br />或 <br />`PaymentUnsuccessful` | 
| active | retired | INFO | `SavingsPlanExpiration` | 
| active | pending-return | INFO | `SavingsPlanReturnRequested` | 
| pending-return | returned | INFO | `SavingsPlanReturnSuccessful` | 
| pending-return | active | ERROR | `SavingsPlanReturnUnsuccessful` | 

### 节省计划状态更改提醒事件
<a name="SP-state-alert"></a>

当节省计划会在一或七天内从 `queued` 状态过渡到 `active`，或者会从 `active` 过渡到 `retired` 时，就会生成节省计划状态更改提醒。这是一种主动通知，用于在任何节省计划即将停用或完成已加入队列状态时提醒您。

```
{
    "version": "0",
    "id": "999cccaa-eaaa-0000-1111-123456789012",
    "detail-type": "Savings Plans State Changange Alert",
    "source": "aws.savingsplans",
    "account": "123456789012",
    "time": "2020-09-16T00:15:00Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:savingsplans::123456789012:savingsplan/07ec53ab-91c3-4ac5-bde6-79fd53192252",
        "arn:aws:savingsplans::123456789012:savingsplan/19a9fa12-911a-18ed-9aa1-3a2615149a14"
    ],
    "detail": {
        "currentState": "queued",
        "nextState": "active",
        "remainingdays": "1",
        "nextStateChangeDate": "2020-09-17",
        "message": "queued savings plans will go to active state on 2020-09-17"
    }
}
```

状态更改提醒事件包含资源 (节省计划 ARN)、当前的状态、下一个状态、剩余天数、下一个状态更改日期和消息等字段。


**状态更改提醒事件的可能值**  

| 当前的状态 | 下一个状态 | 剩余天数 | 消息 | 
| --- | --- | --- | --- | 
| queued | active | 1 | 已加入队列的节省计划将于 `YYYY-MM-DD` 进入活动状态。 | 
| queued | active | 7 | 已加入队列的节省计划将于 `YYYY-MM-DD` 进入活动状态。 | 
| active | retired | 1 | 活动的节省计划将于 `YYYY-MM-DD` 进入停用状态。 | 
| active | retired | 7 | 活动的节省计划将于 `YYYY-MM-DD` 进入停用状态。 | 