View a markdown version of this page

作為 Amazon EventBridge 中目標的 API 目的地 - Amazon EventBridge

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

作為 Amazon EventBridge 中目標的 API 目的地

EventBridge API 目的地是 HTTPS 端點,您可以呼叫做為事件匯流排規則或管道的目標,類似於您呼叫 AWS 服務或資源做為目標的方式。使用 API 目的地,您可以使用 API 呼叫,在 AWS 服務、整合式軟體即服務 (SaaS) 應用程式,以及公有或私有應用程式之間路由事件。

注意

本頁面上的範例使用 規則。自訂事件匯流排訂閱者使用相同的 API 目的地:使用 將 API 目的地 ARN 設定為訂閱者的 TargetArn HttpParameters。請參閱 HTTP 目標:API Gateway 和 API 目的地。

當您將 API 目的地指定為規則或管道目標時,EventBridge 會針對符合規則或管道中指定事件模式的任何事件叫用 HTTPS 端點,然後隨請求傳遞事件資訊。透過 EventBridge,您可以針對要求使用除了「CONNECT」和「TRACE」以外的任何 HTTP 方法。要使用的最常見 HTTP 方法是 PUT 和 POST。

您也可以使用輸入轉換器,將事件自訂為特定 HTTP 端點參數的參數。如需詳細資訊,請參閱Amazon EventBridge 輸入轉換。

API 目的地使用具有授權參數的連線,將事件傳送至 HTTP 端點。

EventBridge API 目的地使用連線來定義 EventBridge 在連線至指定 HTTPS 端點時要使用的授權方法和憑證和網路連線。連線支援公有和私有 APIs。如需詳細資訊,請參閱連線。

注意

使用私有 API 時,EventBridge API 目的地目前僅支援具有 HTTPS 端點公有信任憑證APIs公有網域名稱。API 目的地不支援交互 TLS (mTLS)。

重要

對 API 目的地端點發出的 EventBridge 請求必須擁有 5 秒的最高用戶端執行逾時。如果目標端點的回應時間超過 5 秒,則 EventBridge 會讓請求逾時。EventBridge 會重試逾時的請求,直到重試政策上設定的上限為止。

  • 對於事件匯流排,根據預設,上限為 24 小時 185 次。

  • 對於管道,重試是決定管道來源類型及其組態。EventBridge 將重試,直到事件從來源過期,或已設定的最大事件存留期或重試嘗試已達到為止。

在重試次數上限之後,如果您有無效字母佇列,則會將事件傳送至無效字母佇列。否則,會捨棄該事件。

下列影片示範如何使用 API 目的地:

API 目的地的服務連結角色

當您為 API 目的地建立連線時,服務連結角色AmazonEventBridgeApiDestinationsServiceRolePolicy會新增至您的帳戶。EventBridge 會使用此服務連結角色,在 Secrets Manager 中建立和存放秘密。若要將必要的許可授予服務連結角色,EventBridge 會將 AmazonEventBridgeApiDestinationsServiceRolePolicy 政策連接至該角色。此政策會限制僅授予該角色與連線機密互動所需的許可。不包含其他許可,且該角色僅能與您帳戶中的連線進行互動以管理機密。

如需服務連結角色的詳細資訊,請參閱《IAM 使用者指南》中的使用服務連結角色。

API 目的地之請求中的標頭

下節將詳細說明 EventBridge 如何處理 API 目的地之請求中的 HTTP 標頭。

API 目的地請求中包含的標頭

除了針對用於 API 目的地之連線定義的授權標頭之外,EventBridge 還在每個請求中包含下列標頭。

標頭鍵 標頭值

使用者代理程式

Amazon/EventBridge/ApiDestinations

內容類型

如果未指定自訂 Content-Type 值,EventBridge 會將下列預設值作為 Content-Type:

application/json; charset=utf-8

範圍

bytes=0-1048575

接受編碼

gzip,deflate

連線

關閉

內容長度

實體標頭,是指傳送給收件者的實體主體大小 (以位元組為單位)。

主機

請求標頭,指定要傳送請求之伺服器的主機和連接埠號碼。

在 API 目的地之請求中無法覆寫的標頭

EventBridge 不允許您覆寫以下標頭:

  • 使用者代理程式

  • 範圍

EventBridge 將從 API 目的地之請求中移除的標頭

EventBridge 會移除所有 API 目的地請求的下列標頭:

  • A-IM

  • Accept-Charset

  • Accept-Datetime

  • 接受編碼

  • 快取控制

  • 連線

  • Content-Encoding

  • 內容長度

  • Content-MD5

  • 日期

  • Expect

  • Forwarded

  • 從

  • 主機

  • HTTP2-Settings

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Origin

  • Pragma

  • Proxy-Authorization

  • 範圍

  • Referer

  • TE

  • 預告片

  • Transfer-Encoding

  • 使用者代理程式

  • 升級

  • Via

  • 警告

API 目的地錯誤代碼

當 EventBridge 嘗試將事件交付至 API 目的地並發生錯誤時,EventBridge 會執行下列動作:

  • 重試與錯誤碼 401、407、429、 409和 相關聯的事件5xx。

  • 不會重試與錯誤碼 1xx、3xx、 2xx和 4xx(上述除外) 相關聯的事件。

EventBridge API 目的地會讀取標準 HTTP 回應標頭 Retry-After,以了解在提出後續請求之前要等待多長時間。對於事件匯流排,EventBridge 會在定義的重試政策和 Retry-After標頭之間選擇更保守的值。如果 Retry-After 值為負數,則 EventBridge 會停止重試該事件的交付。

調用率如何影響事件交付

如果您將每秒的調用率設定為遠低於所產生之調用數目的值,則事件可能無法在 24 小時的重試時間內交付事件。例如,如果您將調用速率設定為每秒 10 次調用,但每秒產生數千個事件,則您很快就會有待交付超過 24 小時的待處理事件。若要確保沒有遺失任何事件,請設定無效字母佇列來傳送調用失敗的事件,以便您稍後可以處理這些事件。如需詳細資訊,請參閱使用無效字母佇列來處理 EventBridge 中未交付的事件。

區域可用性

下列 AWS 區域支援公有 HTTPS 端點的 API 目的地:

  • 美國東部 (維吉尼亞北部)

  • 美國東部 (俄亥俄)

  • 美國西部 (加利佛尼亞北部)

  • 美國西部 (奧勒岡)

  • 非洲 (開普敦)

  • 亞太地區 (香港)

  • 亞太地區 (東京)

  • 亞太地區 (首爾)

  • 亞太地區 (大阪)

  • 亞太地區 (孟買)

  • 亞太地區 (海德拉巴)

  • 亞太地區 (新加坡)

  • 亞太地區 (悉尼)

  • 亞太地區 (雅加達)

  • 加拿大 (中部)

  • 中國 (北京)

  • 中國 (寧夏)

  • 歐洲 (法蘭克福)

  • 歐洲 (蘇黎世)

  • 歐洲 (斯德哥爾摩)

  • 歐洲 (米蘭)

  • 歐洲 (西班牙)

  • 歐洲 (愛爾蘭)

  • 歐洲 (倫敦)

  • Europe (Paris)

  • 中東 (阿拉伯聯合大公國)

  • Middle East (Bahrain)

  • 南美洲 (聖保羅)