本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 一起使用的視頻: