昨天介紹了如何新增event bus,今天會一步一步介紹如何完成新增event bus底下的rule。
這邊填寫好rule的name,並選好要在哪個event bus新增rule,然後Rule type已經固定選Rule with an event pattern,如果想要使用Schedule,必須要在Scheduler那邊設定,Rules這邊不能選。
Build event pattern的意思是,要設event source發送的event的schema和filter,這樣event bus才不會囫圇吞棗的接收所有event,隨意觸發後面的target,畢竟接收event的target收到太多event,可能會影響處理event的速度,也會花費不必要的金錢。 Event source共有三個選項,這邊不一定要選擇,只是讓使用者可以拉出想要的範例,在設定event pattern的時候,可以更貼近自己的需求:
下面會再更詳細的介紹每個source的差異。
AWS events是指aws服務送給event bus的event;EventBridge partner是與 AWS 整合,允許他們的服務直接向EventBridge發送event的第三方 SaaS 供應商。選擇AWS events or EventBridge partner events,下面的Creation method會自動選擇Use pattern form,Event pattern也會跟著不同Creation method調整。
Event pattern的Event source可以選擇AWS service或EventBridege partner。
選AWS service,下面的列表會提供AWS的各項服務讓你選擇。
選了其中一個服務之後,就可以選Event type,Event type會決定該service的event pattern長什麼樣子,AWS會自動幫你拉出範例。
如果AWS的範例不能滿足需求,可以按Edit pattern,自行編輯event的patten,決定只有哪些event可以送到這個event bus。

如果選擇other,表示不需要指定服務可以送event,單純的使用一些條件來篩選要不要接收event,Creation method會自動選擇Custom pattern (JSON editor)。
選了條件之後,按下Insert就可以看到系統幫你塞了一個你指定的條件,只要完善event patten的Json,就可以完成pattern。
選擇All events,event pattern就比較簡單了,固定是某個AWS帳號。
接下來就要設定target,這次的目的是要觸發lambda,所以type要選擇AWS service,target要選擇Lambda function,然後再選擇要觸發哪個lambda function。另外,也可以設定Retry policy,決定要保留event多久,要Retry幾次,要不要設定dead-letter queue。
設定tag,這部分是選填。
這個是最後一步,review完沒有問題,就可以按下Create rule,成功新增一條rule。

設定好之後,就可以測試看看,進入event bus,有個Send events的功能就可以測試。
填好Event source、Detail type和Event detail按下Send就可以開始丟event測試。
如果rule有收到指定的event,在monitoring就可以看到觸發event的數量。