

支援終止通知：2026 年 10 月 7 日 AWS 將停止 的支援 AWS IoT Greengrass Version 1。2026 年 10 月 7 日之後，您將無法再存取 AWS IoT Greengrass V1 資源。如需詳細資訊，請造訪[從 遷移 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 取得部署通知
<a name="deployment-notifications"></a>

Amazon EventBridge 事件規則可為您提供 Greengrass 群組部署狀態變更的通知。EventBridge 提供近乎即時的系統事件串流，說明 AWS 資源的變更。 *至少會一次*將這些事件 AWS IoT Greengrass 傳送至 EventBridge。這表示 AWS IoT Greengrass 可能會傳送指定事件的多個副本，以確保交付。此外，您的事件接聽程式可能不會依事件發生順序接收事件。

**注意**  
Amazon EventBridge 是一種事件匯流排服務，可用來將應用程式與各種來源的資料連線，例如 [Greengrass 核心裝置](telemetry.md)和部署通知。如需詳細資訊，請參閱《Amazon EventBridge 使用者指南》**中的[什麼是 Amazon EventBridge？](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html)

AWS IoT Greengrass 當群組部署變更狀態時， 會發出事件。您可以建立 EventBridge 規則，針對所有狀態轉換或轉換至您指定的狀態執行該規則。當部署進入啟動規則的狀態時，EventBridge 會叫用規則中定義的目標動作。這可讓您傳送通知、擷取事件資訊、採取修正動作，或啟動其他事件來回應狀態變更。例如，您可以為下列使用案例建立規則：
+ 啟動部署後操作，例如下載資產和通知人員。
+ 部署成功或失敗後傳送通知。
+ 發佈關於部署事件的自訂指標。

AWS IoT Greengrass 當部署進入下列狀態時， 會發出事件：`Building`、`Success`、 `InProgress`和 `Failure`。

**注意**  
目前尚不支援監控[大量部署](bulk-deploy-cli.md)操作的狀態。不過， 會針對屬於大量部署一部分的個別群組部署 AWS IoT Greengrass 發出狀態變更事件。

## 群組部署狀態變更事件
<a name="events-message-format"></a>

部署狀態變更的[事件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html)會使用下列格式：

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass Deployment Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "time":"2018-03-22T00:38:11Z",
    "region":"us-west-2",
    "resources":[],
    "detail":{    
        "group-id": "284dcd4e-24bc-4c8c-a770-EXAMPLEf03b8",
        "deployment-id": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681",
        "deployment-type": "NewDeployment|Redeployment|ResetDeployment|ForceResetDeployment",
        "status": "Building|InProgress|Success|Failure"
    }
}
```

您可以建立套用至一或多個群組的規則。您可以依下列一或多個部署類型和部署狀態來篩選規則：

**部署類型**  
+ `NewDeployment`。 群組版本的第一個部署。
+ `ReDeployment`。 群組版本的重新部署。
+ `ResetDeployment`。 刪除存放在 和 AWS IoT Greengrass 核心 AWS 雲端 上的部署資訊。如需詳細資訊，請參閱[重設部署](reset-deployments-scenario.md)。
+ `ForceResetDeployment`。 刪除存放在 中的部署資訊， AWS 雲端 並報告成功，無需等待核心回應。核心如已連線或將於下次連線，存放在核心內的部署資訊也會予以刪除。

**部署狀態**  
+ `Building`. AWS IoT Greengrass 正在驗證群組組態和建置部署成品。
+ `InProgress`。 AWS IoT Greengrass 核心上的部署正在進行中。
+ `Success`。 部署成功。
+ `Failure`。 部署失敗。

事件可能會重複或不按順序。若要判斷事件的順序，請使用 `time` 屬性。

**注意**  
AWS IoT Greengrass 不會使用 `resources` 屬性，因此一律為空白。

## 建立 EventBridge 規則的先決條件
<a name="create-events-rule-prereqs"></a>

為 建立 EventBridge 規則之前 AWS IoT Greengrass，請執行下列動作：
+ 熟悉 Eventbridge 中的事件、規則和目標。
+ 建立和設定將由您的 Eventbridge 規則叫用的目標。規則可以叫用許多類型的目標，包括：
  + Amazon Simple Notification Service (Amazon SNS)
  + AWS Lambda 函數
  + Amazon Kinesis Video Streams
  + Amazon Simple Queue Service (Amazon SQS) 佇列

如需詳細資訊，請參閱*《Amazon EventBridge 使用者指南》*中的[什麼是 Amazon EventBridge？](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) 和 [Amazon EventBridge 入門](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html)。

## 設定部署通知 (主控台)
<a name="create-events-rule-console"></a>

使用下列步驟建立 EventBridge 規則，在群組的部署狀態變更時發佈 Amazon SNS 主題。藉由這個規則，Web 伺服器、電子郵件地址和其他主題訂閱者將能回應事件。如需詳細資訊，請參閱《Amazon [ EventBridge 使用者指南》中的從 AWS 資源建立事件觸發的](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) EventBridge 規則。 * EventBridge *

1. 開啟 [Amazon EventBridge 主控台](https://console.aws.amazon.com/events/)。

1. 在導覽窗格中，選擇**規則**。

1. 選擇**建立規則**。

1. 輸入規則的名稱和描述。

   在同一個區域和同一個事件匯流排上，規則不能與另一個規則同名。

1. 針對**事件匯流排**，選擇要與此規則建立關聯的事件匯流排。如果您想要此規則匹配來自您的帳戶的事件，請選取 **AWS 預設事件匯流排**。當您帳戶中的 AWS 服務發出事件時，一律會前往您帳戶的預設事件匯流排。

1. 針對**規則類型**，選擇**具有事件模式的規則**。

1. 選擇**下一步**。

1. 在**事件來源**欄位中，選擇 **AWS 服務**。

1. 針對**事件模式**，選擇 **AWS 服務**。

1. 針對**AWS 服務**，選擇 Greengrass。

1. 在 **Event type (事件類型)**，選擇 **Greengrass Deployment Status Change (Greengrass 部署狀態變更)**。
**注意**  
**AWS 透過 CloudTrail 的 API 呼叫**事件類型是以與 的 AWS IoT Greengrass 整合為基礎 AWS CloudTrail。您可以使用此選項來建立由讀取或寫入呼叫 AWS IoT Greengrass API 所起始的規則。如需詳細資訊，請參閱[使用 記錄 AWS IoT Greengrass API 呼叫 AWS CloudTrail](logging-using-cloudtrail.md)。

1. 選擇啟動通知的部署狀態。
   + 若要接收所有狀態變更事件的通知，請選擇 **Any state (任何狀態)**。
   + 若只要接收某些狀態變更事件的通知，請選擇 **Specific state(s) (特定狀態)**，然後選擇目標狀態。

1. 選擇啟動通知的部署類型。
   + 若要接收所有部署類型的通知，請選擇 **Any state (任何狀態)**。
   + 若只要接收某些部署類型的通知，請選擇 **Specific state(s) (特定狀態)**，然後選擇目標部署類型。

1. 選擇**下一步**。

1. 在**目標類型**欄位中，選擇 **AWS 服務**。

1. 針對**選取目標**，設定您的目標。此範例使用 Amazon SNS 主題，但您可以設定其他目標類型來傳送通知。

   1. 在 **Target (目標)**，選擇 **SNS topic (SNS 主題)**。

   1. 在 **Topic (主題)**，選擇您的目標主題。

   1. 選擇**下一步**。

1. 在**標籤**下，定義規則的標籤或將欄位保留空白。

1. 選擇**下一步**。

1. 檢閱規則的詳細資訊，然後選擇**建立規則**。

## 設定部署通知 (CLI)
<a name="create-events-rule-cli"></a>

使用下列步驟建立 EventBridge 規則，在群組的部署狀態變更時發佈 Amazon SNS 主題。藉由這個規則，Web 伺服器、電子郵件地址和其他主題訂閱者將能回應事件。

1. 建立 規則。
   + 使用 *群組的 ID 取代 group-id*。 AWS IoT Greengrass 

   ```
   aws events put-rule \
     --name TestRule \
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"group-id\": [\"group-id\"]}}"
   ```

   模式省略的屬性會遭到忽略。

1. 新增主題作為規則目標。
   + 將 *topic-arn* 取代為 Amazon SNS 主題的 ARN。

   ```
   aws events put-targets \
     --rule TestRule \
     --targets "Id"="1","Arn"="topic-arn"
   ```
**注意**  
若要讓 Amazon EventBridge 呼叫您的目標主題，您必須將以資源為基礎的政策新增到您的主題。如需詳細資訊，請參閱*《Amazon EventBridge 使用者指南》*中的 [Amazon SNS 許可](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions)。

如需詳細資訊，請參閱*《Amazon EventBridge 使用者指南》*中的 [EventBridge 中的事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)。

## 設定部署通知 (CloudFormation)
<a name="create-events-rule-cloudformation"></a>

使用 CloudFormation 範本建立 EventBridge 規則，傳送 Greengrass 群組部署狀態變更的通知。如需詳細資訊，請參閱《 *AWS CloudFormation 使用者指南*》中的 [Amazon EventBridge 資源類型參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Events.html)。

## 另請參閱
<a name="deployment-notifications-see-also"></a>
+ [將 AWS IoT Greengrass 群組部署至 AWS IoT Greengrass 核心](deployments.md)
+ 《[Amazon EventBridge 使用者指南》中的什麼是 Amazon EventBridge？](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) * EventBridge *