

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用适用于 Go 的 X-Ray 开发工具包跟踪对下游 HTTP Web 服务的调用
<a name="xray-sdk-go-httpclients"></a>

**注意**  
X-Ray SDK/Daemon 维护通知 — 2026 年 2 月 25 日， Amazon X-Ray SDKs/Daemon 将进入维护模式，在该模式下，X-Ray SDK 和 Daemon 的发布 Amazon 将仅限于解决安全问题。有关支持时间表的更多信息，请参阅 [X-Ray SDK 和 Daemon Support 时间表](xray-sdk-daemon-timeline.md)。我们建议迁移到 OpenTelemetry。有关迁移到的更多信息 OpenTelemetry，请参阅[从 X-Ray 仪器迁移到 OpenTelemetry 仪器](https://docs.amazonaws.cn/xray/latest/devguide/xray-sdk-migration.html)。

当您的应用程序调用微服务或公共 HTTP 时 APIs，您可以使用`xray.Client`将这些调用视为 Go 应用程序的子段，如以下示例所示，其中 *http-client 是一个 HTTP 客户端*。

客户端创建所提供的 HTTP 客户端的阴影副本，默认为 `http.DefaultClient`，并带有使用 `xray.RoundTripper` 包装的往返处理器。

**Example**  

```
myClient := xray.Client({{http-client}})
```
以下示例借助使用 `xray.Client` 的 ctxhttp 库来检测传出 HTTP 调用。可以传递来自上游调用的 `ctx`。这样可以确保使用现有的区段上下文。例如，X-Ray 不允许在 Lambda 函数中创建新的分段，因此应使用现有的 Lambda 分段上下文。  

```
resp, err := ctxhttp.Get(ctx, xray.Client(nil), {{url}})
```