本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 EventBridge 与 Amazon X-Ray
您可以使用 Amazon X-Ray 来跟踪经过的事件 EventBridge。 EventBridge 将原始跟踪标头传递给目标,以便目标服务可以跟踪、分析和调试。
EventBridge 仅当事件来自通过跟踪上下文的PutEvents
请求时,才可以为该事件传递跟踪标头。X-Ray 不会跟踪来自第三方合作伙伴、计划事件或 Amazon 服务的事件,这些事件源也不会出现在您的 X-Ray 服务图中。
X-Ray 会验证跟踪标头,无效的跟踪标头会被丢弃,但仍会处理该事件。
重要
对于传送到调用目标的事件,跟踪标头不可用。
如果您有事件存档,则跟踪标头对于存档事件不可用。如果您重放存档事件,其中不包括跟踪标头。
如果您有死信队列 (DLQ),跟踪标头包含在将事件发送到 DLQ 的
SendMessage
请求中。如果您使用ReceiveMessage
从 DLQ 中检索事件(消息),则与该事件关联的跟踪标头将包含在 Amazon SQS 消息属性中,但不包含在事件消息中。
有关 EventBridge 事件节点如何连接源和目标服务的信息,请参阅《Amazon X-Ray 开发人员指南》中的 “在 X-Ray 服务映射中查看源和目标”。
您可以通过以下跟踪标头信息传递 EventBridge:
默认 HTTP 标头 - 对于所有调用目标,X-Ray SDK 会自动将跟踪标头填充为
X-Amzn-Trace-Id
HTTP 标头。要了解有关默认 HTTP 标头的更多信息,请参阅《Amazon X-Ray 开发人员指南》中的跟踪标头。TraceHeader
系统属性 —TraceHeader
是为PutEventsRequestEntry 将 X-Ray 跟踪标头传送 EventBridge 到目标而保留的属性。如果您还使用PutEventsRequestEntry
,PutEventsRequestEntry
会覆盖 HTTP 跟踪标头。
注意
跟踪标头不会计入 PutEventsRequestEntry
事件大小。有关更多信息,请参阅 计算 PutEvents 活动条目大小。
以下视频演示了如何使用 X-Ray 以及 EventBridge 一起使用: