Amazon EventBridge 與 整合 AWS X-Ray - Amazon EventBridge

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

Amazon EventBridge 與 整合 AWS X-Ray

您可以使用 AWS X-Ray 來追蹤通過 EventBridge 的事件。EventBridge 會將原始追蹤標頭傳遞至目標,以便目標服務可以追蹤、分析和偵錯。

只有當事件來自傳遞追蹤內容的 PutEvents 要求時,EventBridge 才能傳遞事件的追蹤標頭。X-Ray 不會追蹤來自第三方合作夥伴、排程事件或AWS 服務的事件,而且這些事件來源不會顯示在 X-Ray 服務地圖上。

X-Ray 會驗證追蹤標頭,而且會捨棄無效的追蹤標頭。但是,仍會處理該事件。

重要

追蹤標頭在傳遞至調用目標的事件上無法使用。

  • 如果您有事件封存,則已封存的事件上無法使用追蹤標頭。如果您重新顯示封存的事件,則不會包含追蹤標頭。

  • 如果您有無效字母佇列 (DLQ),追蹤標頭會包含在將事件傳送至 DLQ 的 SendMessage 要求中。如果您使用 ReceiveMessage 從 DLQ 擷取事件 (訊息),與事件相關聯的追蹤標頭會包含在 Amazon SQS 訊息屬性中,但事件訊息中不會包含該標頭。

如需 EventBridge 事件節點如何連接來源和目標服務的詳細資訊,請參閱《AWS X-Ray 開發人員指南》中的在 X-Ray 服務對應中檢視來源和目標

您可以透過 EventBridge 傳遞下列追蹤標頭資訊:

  • 預設 HTTP 標頭:X-Ray SDK 會自動填入追蹤標頭做為所有調用目標的 X-Amzn-Trace-Id HTTP 標頭。若要進一步了解預設 HTTP 標頭,請參閱《AWS X-Ray 開發人員指南》中的追蹤標頭

  • TraceHeader 系統屬性TraceHeader 是由 EventBridge 保留的 PutEventsRequestEntry 屬性,可將 X-Ray 追蹤標頭傳送至目標。如果您也使用 PutEventsRequestEntry,則 PutEventsRequestEntry 會覆寫 HTTP 追蹤標頭。

注意

追蹤標頭不會計入 PutEventsRequestEntry 事件大小。如需詳細資訊,請參閱計算 PutEvents 事件項目大小

下面為演示 X-Ray 和 EventBridge 一起使用的視頻: