本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用適用於 Go 的 X-Ray 開發套件追蹤對下游 HTTP Web 服務的呼叫
注意
End-of-support通知 – 在 2027 年 2 月 25 日, AWS X-Ray 將停止支援 AWS X-Ray SDKs 和協助程式。2027 年 2 月 25 日之後,您將不再收到更新或版本。如需支援時間表的詳細資訊,請參閱 X-Ray SDK 和協助程式終止支援時間表。建議您遷移至 OpenTelemetry。如需遷移至 OpenTelemetry 的詳細資訊,請參閱從 X-Ray 檢測遷移至 OpenTelemetry 檢測。
當您的應用程式呼叫微服務或公有 HTTP API 時,您可以使用 xray.Client
並以 Go 應用程式子區段的形式檢測這些呼叫,如下範例所示,其中 http-client 是 HTTP 用戶端。
用戶端會建立所提供 HTTP 用戶端的淺層副本,預設為 http.DefaultClient
,並用 包裝往返xray.RoundTripper
。
main.go – HTTP 用戶端
myClient := xray.Client(http-client
)
main.go – 使用 ctxhttp 程式庫追蹤下游 HTTP 呼叫
下列範例會使用 使用 ctxhttp 程式庫來測試傳出 HTTP 呼叫xray.Client
。 ctx
可以從上游呼叫傳遞。這可確保使用現有的客群內容。例如,X-Ray 不允許在 Lambda 函數中建立新客群,因此應使用現有的 Lambda 客群內容。
resp, err := ctxhttp.Get(ctx, xray.Client(nil), url
)