使用 EventBridge 以自動化 AWS Proton - AWS Proton

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

使用 EventBridge 以自動化 AWS Proton

您可以在亞馬遜監控AWS Proton事件EventBridge。EventBridge從自己的應用程式、(SaaS) 應用程式、software-as-a-service (SaaS) 應用程式和AWS 服務. 您可以設定事件以回應資AWS源狀態變更。EventBridge然後將此數據路由到目標服務,例如AWS Lambda和 Amazon 簡單通知服務。這些事件與亞馬遜活動中出現的CloudWatch事件相同。CloudWatchEvents 會提供近乎即時的系統事件串流,說明AWS資源的變動情形。如需詳細資訊,請參閱什麼是 AmazonEventBridge?亞馬遜EventBridge用戶指南

用EventBridge於在AWS Proton佈建工作流程中收到狀態變更的通知。

Event types (事件類型)

事件是由包含事件模式和目標的規則所組成。您可以選擇事件模式和目標物件來設定規則:

事件模式

每個規則都以事件模式表示,其中包含要監視的事件來源和類型以及事件目標。若要監視事件,請使用您正在監視的服務建立規則作為事件來源。例如,您可以建立具有事件模式的規則,該規則會用AWS Proton作事件來源,以便在部署狀態發生變更時觸發規則。

目標

規則會接收選取的服務做為事件目標。您可以根據需要設定目標服務,以傳送通知、擷取狀態資訊,採取修正動作、啟動事件,或採取其他動作。

事件物件包含 ID、帳號、詳細資料類型AWS 區域、來源、版本、資源、時間 (選用) 的標準欄位。詳細資料欄位是包含事件自訂欄位的巢狀物件。

AWS Proton盡可能發出事件。全力傳遞意味著服務會嘗試將所有事件傳送至該服務EventBridge,但在某些罕見的情況下,事件可能無法傳遞。

下表會針對每個可發出事件的AWS Proton資源,列出詳細資料類型值、明細欄位,以及 (如果有的話)statuspreviousStatus明細欄位值清單的參照。刪除資源時,status明細欄位值為DELETED

資源 詳細類型值 詳細欄位

EnvironmentTemplate

AWS Proton環境範本狀態變更

name

status

previousStatus

EnvironmentTemplateVersion

AWS Proton環境範本版本狀態變更

name

majorVersion

minorVersion

status

previousStatus

狀態值

ServiceTemplate

AWS Proton服務範本狀態變更

name

status

previousStatus

ServiceTemplateVersion

AWS Proton服務範本版本狀態變更

name

majorVersion

minorVersion

status

previousStatus

狀態值

Environment

AWS Proton環境狀態變更

name

status

previousStatus

Service

AWS Proton服務狀態變更

name

status

previousStatus

狀態值

ServiceInstance

AWS Proton服務實例狀態變更

name

serviceName

status

previousStatus

ServicePipeline

AWS Proton服務管道狀態變更

serviceName

status

previousStatus

EnvironmentAccountConnection

AWS Proton環境帳戶連線狀態變更

id

status

previousStatus

狀態值

Component

AWS Proton元件狀態變更

name

status

previousStatus

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" } }