概觀

問:什麼是 Amazon EventBridge?

Amazon EventBridge 服務讓您不用撰寫程式碼,即可即時存取 AWS 服務、自有應用程式和軟體即服務 (SaaS) 應用程式的資料變更。開始使用時,您可以在 Amazon EventBridge 主控台中選擇事件來源,然後從多項 AWS 服務中選取目標,這些服務包括 AWS Lambda、Amazon SNS 和 Amazon Kinesis Data Firehose 等。Amazon EventBridge 會以近乎即時的速度自動傳送事件。

問:如何開始使用 Amazon EventBridge?

登入您的 AWS 帳戶並前往 Amazon EventBridge 主控台,然後從合作夥伴 SaaS 應用程式和 AWS 服務清單中,選擇事件來源。如果您使用合作夥伴應用程式,請確保已設定 SaaS 帳戶以發出事件,並在 Amazon EventBridge 主控台中提供的事件來源部分接受該帳戶。Amazon EventBridge 會為您自動建立事件匯流排,以路由事件到這個匯流排。或者,您也可以使用 AWS SDK 指示您的應用程式,開始將事件發出到您的事件匯流排。視需要設定篩選規則並附加事件的目標,例如,目標可以是 Lambda 函數。Amazon EventBridge 會以安全且高度可用的方式,自動擷取、篩選及傳送事件到設定的目標。

問:是否可以發佈自己的事件到 Amazon EventBridge?

是。客戶可以產生自訂應用程式層級事件,並透過服務的 API 將這些事件發佈到 Amazon EventBridge。客戶也可以設定按照週期產生的排程事件,然後可以在任何 Amazon EventBridge 支援的目標中處理這些事件。

問:事件的格式為何?

事件使用特定 JSON 結構。每一個事件的頂層信封欄位都相同,例如事件、時間戳記和區域的來源。後面接著詳細資訊欄位,是事件的主體。例如,當 Amazon EC2 Auto Scaling 群組產生一個新的 Amazon EC2 執行個體時,它會發出一個含有 source: “aws.autoscaling” 和 detail: "EC2 instance created successfully" 的事件。

問:如何篩選要傳送到目標的事件?

您可以利用規則來篩選事件。規則會比對符合指定事件匯流排的傳入事件,並將事件路由到目標以進行處理。一個規則可路由到多個目標,系統會並行處理所有目標。規則允許不同應用程式元件搜尋並處理與其相關的事件。規則可以藉由只傳遞特定部分或使用常數覆寫事件,先自訂事件,再傳送到目標。針對上一個問題所提供的範例,您可以建立事件規則,來比對符合 source: “aws.autoscaling” 和 detail: "EC2 instance created successfully",藉此在每次 Auto Scaling 群組成功建立 Amazon EC2 執行個體時可隨時收到通知。

問:如何保護存取 Amazon EventBridge 的安全?

Amazon EventBridge 已與 AWS Identity and Access Management (IAM) 整合,因此,您可以指定 AWS 帳戶中的使用者能夠執行哪些動作。例如,您可以建立一個 IAM 政策,將建立事件匯流排或附加事件目標的許可僅提供給組織中的特定使用者。

問:Amazon EventBridge 與 CloudWatch Events 有何關聯?

Amazon EventBridge 以 CloudWatch Events 為建立基礎,並擴展了 CloudWatch Events。其使用的服務 API 和端點相同,底下的服務基礎設施也相同。對現有的 CloudWatch Events 客戶來說,一切都沒有改變 - 您可以繼續使用相同的 API、CloudFormation 範本和主控台。客戶向我們反應 CloudWatch Events 是建置事件導向架構的最佳服務,因此,我們打造了新功能,讓我們的客戶連接自有應用程式和第三方 SaaS 應用程式的資料。摒棄納入 CloudWatch 服務的做法,我們以 Amazon EventBridge 的全新名稱推出這項功能,表明將擴展至 CloudWatch Events 原本開發做為監控使用的範圍。

問:我目前使用 Amazon CloudWatch Events,我想試用 Amazon EventBridge 的功能。是否需要將我的 Amazon CloudWatch Events 規則和許可移到 Amazon EventBridge?

否,現有 Amazon CloudWatch Events 使用者可以在新的 Amazon EventBridge 主控台和 API 中或在 Amazon CloudWatch Events 主控台和 API 中存取其現有的預設匯流排、規則和事件。

問:我目前使用 Amazon CloudWatch Events,我不需要 Amazon EventBridge 的功能。對我來說,會有什麼改變?

沒有任何改變。Amazon EventBridge 使用相同的 Amazon CloudWatch Events API,所以,您現有的所有 CloudWatch Events API 使用方法均維持不變。

問:未來某一天是否會淘汰 Amazon CloudWatch Events?

否,我們不會淘汰該 API 或該服務本身。Amazon EventBridge 會使用相同的 API,並且已新增額外功能。將來一段時間後,Amazon CloudWatch Events 名稱會更改為 Amazon EventBridge。

問:哪些 AWS 服務已整合成為 Amazon EventBridge 的事件來源?

有超過 90 項 AWS 服務可以當成 EventBridge 的事件來源,這些服務包括 AWS Lambda、Amazon Kinesis 和 AWS Fargate 等。如需 AWS 服務整合的完整清單,請參閱 EventBridge 文件

問:哪些 AWS 服務已整合成為 Amazon EventBridge 的事件目標?

有超過 15 項 AWS 服務可當成 EventBridge 的事件目標,這些服務包括 AWS Lambda、Amazon SQS、Amazon SNS、Amazon Kinesis Streams 和 Amazon Kinesis Firehose 等。如需 AWS 服務整合的完整清單,請參閱 EventBridge 文件

問:什麼是 EventBridge 封存和重播事件?

事件重播是 Amazon EventBridge 的一項新功能,允許客戶將過去的事件重新處理回事件匯流排或特定的 EventBridge 規則。此功能讓開發人員能夠輕鬆對其應用程式偵錯,透過將歷史事件與目標聯繫在一起來進行擴展,並從錯誤中復原。事件重播讓開發人員可以放心無虞,他們將始終可以存取發佈至 EventBridge 的任何事件。

問:什麼是 EventBridge API 目的地?

API 目的地可讓開發人員將事件傳送回任何內部部署或 SaaS 應用程式,並能控制輸送和身份驗證。客戶可以使用輸入轉換設定規則,這會將事件的格式映射至接收服務的格式,EventBridge 將負責安全性和交付。觸發規則後,Amazon EventBridge 將根據指定的條件轉換事件,並使用設定規則時提供的身份驗證資訊將其傳送至設定的 Web 服務。安全是內建的,因此開發人員不再需要為他們要使用的服務編寫身份驗證元件。

問:什麼是 API 目的地的「連線」? 如何設定 API 目的地?

每個 API 目的地均使用一個「連線」,其定義用於連線至 HTTP 端點的授權方法和登入資料。當您設定授權設定並建立連線時,它會在 AWS Secrets Manager 中建立一個機密以安全地存放授權資訊。此外,您還可以根據您的應用程式,新增其他參數以將其包含在連線中。

若要設定 API 目的地,您將需要提供 API 目的地端點,即事件的 HTTP 叫用端點目標。您將需要建立一個「連線」以對此端點進行授權。您還可以選擇定義叫用速率限制,即每秒傳送至 API 目的地端點的叫用次數上限。進一步了解連線和 API 目的地

限制與效能

問:服務限制有哪些?

請參閱這裡的「服務限制」頁面。

問:傳送和接收事件之間,可預期的延遲時間為何?

基本上延遲時間約 0.5 秒。請注意,延遲時間視情況而不同。

問:Amazon EventBridge 是否支援資源標記?

是,您可以標記規則;但不能標記事件匯流排或事件來源。

問:Amazon EventBridge 可預期的輸送量為何?

這裡的「服務限制」頁面提供事件匯流排的輸送量限制說明。 如果您需要更高的輸送量,請前往 AWS 支援中心並選擇 Create Case,然後選擇 Service Limit Increase,來請求放寬服務限制。

問:EventBridge 是否有服務水準協議?
是。AWS 將採取商業上合理的努力,讓 EventBridge 在每個 AWS 區域的每個月正常執行時間百分比,在任何月結算週期內至少保持 99.99%。如需詳細資訊,請參閱完整的 EventBridge 服務水準協議

結構描述登錄檔

問︰什麼是結構描述?

結構描述是指事件的結構,通常包含事件中所包括的每一部分資料的標題和格式等資訊。例如,結構描述可能包括姓名和電話號碼等欄位,以及姓名為文字字串、電話號碼為整數這一事實。結構描述也可以包括模式的相關資訊,例如電話號碼必須為 10 位數的要求。事件的結構描述非常重要,因為它顯示了事件中包含哪些資訊,並允許您基於該資料編寫程式碼。

問︰什麼是結構描述登錄檔?

結構描述登錄檔用於儲存結構描述的集合,這樣您組織內的任何開發人員都可以輕鬆存取應用程式所產生的結構描述,而無需查找整個文件或者向結構描述的作者索取此資訊。您可以手動向登錄檔新增結構描述,或者啟用 EventBridge 結構描述探索功能以自動執行此過程。

問:什麼是結構描述探索功能?

結構描述探索可自動執行查找結構描述並將其新增到登錄檔的過程。為 EventBridge 事件匯流排啟用結構描述登錄檔後,傳送到事件匯流排的每個事件的結構描述都會自動新增到登錄檔。如果事件的登錄檔發生變更,則結構描述探索會在登錄檔中建立結構描述的新版本。結構描述一旦新增到登錄檔,您就可以在 EventBridge 主控台或者直接在您的 IDE 中為該結構描述產生程式碼綁定,這讓您可以將事件表示為您程式碼中的強類型物件,並利用驗證和自動完成等 IDE 功能。

問:我可以從在其他帳戶中探索到的事件探索結構描述嗎?

僅對源自與預設、自訂和合作夥伴事件匯流排上的探索者相同的帳戶的事件啟用結構描述探索。

問:結構描述登錄檔的費用是多少?

結構描述登錄檔可免費使用,但是在啟用結構描述探索之後,會基於擷取事件數進行收費。結構描述探索具有每月 5 百萬個擷取事件的免費方案,該方案應該可以涵蓋大部分的開發使用量。針對免費方案之外的額外使用量,每 1 百萬個擷取事件收取 0.10 USD 的費用。有關定價的更多資訊,請參閱 EventBridge 定價頁面

問:結構描述登錄檔如何減少我需要編寫的程式碼數量?

首先,您可以使用結構描述探索自動識別傳送到您的 EventBridge 事件匯流排的任何事件的結構描述並將其儲存在登錄檔中,使您無需手動管理您的事件結構描述。其次,當您編寫在您的匯流排上處理事件的應用程式時,您可以為此結構描述產生和下載程式碼綁定,這樣您可以直接在您的程式碼中使用強類型物件。這可以節省用於您的事件處理常式的還原序列化、驗證及猜測的開銷。

問:為何我應該使用結構描述登錄檔?

透過結構描述登錄檔,EventBridge 為您提供了一種更快開發事件驅動的應用程序的方式,從而讓您可以專注於您的應用程式程式碼。以前,您需要查找可用事件及其結構,並編寫程式碼以將事件解釋和轉換為您的程式碼可以理解的格式。現在,有了結構描述登錄檔,您可以從任何受支援的事件來源 (包括 AWS 服務、第三方及自訂應用程式) 自動查找事件,並偵測其結構描述。

問:結構描述登錄檔支援哪些 IDE?

可透過 AWS Toolkit for Jetbrains (Intellij、PyCharm、Webstorm、Rider) 和 VS Code 以及在 EventBridge 主控台和 API 中使用結構描述登錄檔。進一步了解在您的 IDE 中使用 EventBridge 結構描述登錄檔

問:我可以將結構描述與 Serverless Application Model (SAM) 的結構描述搭配使用嗎?

是的,SAM CLI 的最新版本包括一種交互模式,該模式讓您可以為作為事件類型的任何結構描述在 EventBridge 上建立新的無伺服器應用程式。只需選擇「EventBridge Starter App」模板以及事件的結構描述,SAM 將使用 EventBridge 調用的 Lambda 函數和該事件的處理程式碼自動產生應用程式。這意味著您可以將事件觸發器看作您程式碼中的正常物件,並在您的 IDE 中使用驗證和自動完成等功能。

AWS Toolkit for Jetbrains 外掛程式 (Intellij、PyCharm、Webstorm、Rider) 和 VS Code 也提供直接從這些 IDE 使用此模板產生無伺服器應用程式的功能,其中結構描述用作觸發器。

問:我可以使用何種語言從我的結構描述產生程式碼?

可使用 Java (8+)、Python (3.6+) 和 Typescript (3.0+) 產生程式碼。

問:在哪些區域提供結構描述登錄檔?

以下區域均已提供 EventBridge 結構描述登錄檔:美國東部 (俄亥俄和維吉尼亞北部)、美國西部 (奧勒岡、加利佛尼亞北部)、加拿大 (中部)、歐洲 (斯德哥爾摩、巴黎、愛爾蘭、法蘭克福、倫敦)、亞太區域 (孟買、東京、首爾、新加坡、香港、雪梨) 以及南美洲 (聖保羅)。

費用和計費方式

問:EventBridge 的費用為何?

請參閱這裡的定價。

問:合作夥伴將事件傳送到沒有附加事件匯流排的事件來源時,我是否需要支付費用?

否。

架構與設計

問:我是否可以設定目標,將事件傳送到另一個帳戶?

是。這稱為跨帳戶事件,您可以設定目標做為預設事件匯流排或另一個帳戶中的任何其他事件匯流排。

問:AWS CloudFormation 可否與 Amazon EventBridge 一起使用?

Rules 和 EventBusPolicy 資源支援 AWS CloudFormation。目前雖然尚未支援事件匯流排和事件來源資源,但將來會支援。

問:Amazon EventBridge 和 Amazon SNS 的使用時機分別為何?

Amazon EventBridge 和 Amazon SNS 都可以用來開發事件導向應用程式,如何選擇將取決於您的具體需求。如果您要建立應用程式來回應 SaaS 應用程式和/或 AWS 服務傳出的事件,建議您使用 Amazon EventBridge。Amazon EventBridge 是唯一直接與第三方 SaaS 合作夥伴整合的事件型服務。Amazon EventBridge 也可以自動從超過 90 項 AWS 服務擷取事件,開發人員無須在帳戶中建立任何資源。再者,Amazon EventBridge 將定義的 JSON 結構用於事件,可讓您建立規則並套用於整個事件主體,以選取要轉送到目標的事件。Amazon EventBridge 目前支援使用超過 15 項 AWS 服務做為目標,這些服務包括 AWS Lambda、Amazon SQS、Amazon SNS,以及 Amazon Kinesis Streams 和 Firehose 等。啟動時,Amazon EventBridge 設有有限的輸送量 (請參閱 Service Limits),您可提出增加輸送量的請求,通常延遲時間約為 0.5 秒。

如果您要建立應用程式來回應其他應用程式或微型服務發佈的高輸送量或低延遲訊息 (Amazon SNS 提供近乎無限制的輸送量),或是需要極高散發 (數千個或數百萬個端點) 的應用程式,則建議您使用 Amazon SNS。訊息為非結構化訊息,並且可使用任何格式。Amazon SNS 支援將訊息轉送到 6 種不同類型的目標,其中包括 AWS Lambda、Amazon SQS、HTTP/S 端點、SMS、Mobile Push 和電子郵件。Amazon SNS 的典型延遲時間在 30 毫秒以下。有多種 AWS 服務可以藉由設定服務傳送 SNS 訊息 (有超過 30 項的服務,包括 Amazon EC2、Amazon S3 和 Amazon RDS 等)。

整合

問:為什麼要將 SaaS 應用程式與 Amazon EventBridge 整合?

Amazon EventBridge 讓 SaaS 廠商輕鬆將自有的服務整合到客戶在 AWS 上的事件導向架構。Amazon EventBridge 可讓數幾百萬名的 AWS 開發人員直接存取您的產品,進而開啟新的使用案例。這項服務提供可充分稽核的安全可擴展路徑來傳送事件,SaaS 廠商完全不需要管理任何事件基礎建設。

問:我的 SaaS 公司是不錯的事件來源。如何使公司進入呢?

有意成為 Amazon EventBridge 合作夥伴的 SaaS 廠商,應遵循 Amazon EventBridge 整合頁面上的自助式指示,開始發佈事件到 Amazon EventBridge。

問:SaaS 供應商需要執行哪些工作來整合 Amazon EventBridge?

如果 SaaS 供應商已支援 Webhook 或其他以推送為基礎的整合模式,整合 Amazon EventBridge 所預期的開發執行時間應少於 5 天。

問:支援哪些 SaaS 整合?

如需支援的整合完整清單,請參閱這裡
 

Standard Product Icons (Features) Squid Ink
進一步了解 Amazon EventBridge 整合

瀏覽 Amazon EventBridge 整合頁面。

進一步了解 
Standard Product Icons (Start Building) Squid Ink
開始在主控台進行建置

開始在 AWS 管理主控台使用 Amazon EventBridge 進行建置。

登入 
Sign up for a free account
如要進一步了解,請參閱文件

如要更深入了解 EventBridge,請參閱開發人員指南。

進一步了解