本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Proton 使用 EventBridge 自動化
您可以在 Amazon EventBridge 中監控 AWS Proton 事件。EventBridge 可從您自己的應用程式、software-as-a-service(SaaS) 應用程式和 提供即時資料串流 AWS 服務。您可以設定事件以回應 AWS 資源狀態變更。EventBridge 會接著將此資料路由至目標服務,例如 AWS Lambda 和 Amazon Simple Notification Service。這些事件與 Amazon CloudWatch Events 中出現的事件相同。CloudWatch Events 提供近乎即時的系統事件串流,說明 AWS 資源的變更。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的什麼是 Amazon EventBridge?。
使用 EventBridge 接收 AWS Proton 佈建工作流程中狀態變更的通知。
事件類型
事件由包含事件模式和目標的規則組成。您可以透過選擇事件模式和目標物件來設定規則:
- 事件模式
-
每個規則都表示為事件模式,其中包含要監控的事件來源和類型,以及事件目標。若要監控事件,您可以使用要監控為事件來源的服務來建立規則。例如,您可以建立具有事件模式的規則,使用 AWS Proton 做為事件來源,在部署狀態發生變更時觸發規則。
- 目標
-
規則會收到所選服務做為事件目標。您可以設定目標服務來傳送通知、擷取狀態資訊、採取修正動作、啟動事件或採取其他動作。
事件物件包含 ID、帳戶 AWS 區域、Detail-type、來源、版本、資源、時間 (選用) 的標準欄位。詳細資訊欄位是巢狀物件,其中包含事件的自訂欄位。
AWS Proton 事件會盡最大努力發出。全力傳遞意味著服務會嘗試將所有事件傳送至 EventBridge,但在某些罕見的情況下,事件可能無法傳遞。
對於可以發出事件的每個 AWS Proton 資源,下表列出詳細資訊類型值、詳細資訊欄位,以及 (如果可用) status
和previousStatus
詳細資訊欄位值清單的參考。刪除資源時,status
詳細資訊欄位值為 DELETED
。
資源 | Detail-type 值 | 詳細資訊欄位 |
---|---|---|
|
AWS Proton 環境範本狀態變更 |
|
|
AWS Proton 環境範本版本狀態變更 |
|
|
AWS Proton 服務範本狀態變更 |
|
|
AWS Proton 服務範本版本狀態變更 |
|
|
AWS Proton 環境狀態變更 |
|
|
AWS Proton 服務狀態變更 |
|
|
AWS Proton 服務執行個體狀態變更 |
|
|
AWS Proton 服務管道狀態變更 |
|
|
AWS Proton 環境帳戶連線狀態變更 |
|
|
AWS Proton 元件狀態變更 |
|
AWS Proton 事件範例
下列範例顯示 AWS Proton 可將事件傳送至 EventBridge 的方式。
服務範本
{ "source": "aws.proton", "detail-type": ["AWS Proton Service Template Status Change"], "time": "2021-03-22T23:21:40.734Z", "resources": ["arn:aws:proton:region_id:123456789012:service-template/sample-service-template-name"], "detail": { "name": "sample-service-template-name", "status": "PUBLISHED", "previousStatus": "DRAFT" } }
服務範本版本
{ "source": "aws.proton", "detail-type": ["AWS Proton Service Template Version Status Change"], "time": "2021-03-22T23:21:40.734Z", "resources": ["arn:aws:proton:region_id:123456789012:service-template/sample-service-template-name:1.0"], "detail": { "name": "sample-service-template-name", "majorVersion": "1", "minorVersion": "0", "status": "REGISTRATION_FAILED", "previousStatus": "REGISTRATION_IN_PROGRESS" } }
Environment (環境)
{ "source": "aws.proton", "detail-type": ["AWS Proton Environment Status Change"], "time": "2021-03-22T23:21:40.734Z", "resources": ["arn:aws:proton:region_id:123456789012:environment/sample-environment"], "detail": { "name": "sample-environment", "status": "DELETE_FAILED", "previousStatus": "DELETE_IN_PROGRESS" } }