

第 4 版 (V4) 適用於 .NET 的 AWS SDK 已發行！

如需有關中斷變更和遷移應用程式的資訊，請參閱[遷移主題](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)。

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

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

# 遙測供應商
<a name="observability-telemetry-providers"></a>

開發套件提供 [OpenTelemetry](https://opentelemetry.io/) 做為遙測提供者的實作，[下一節](observability-telemetry-providers-otel.md)將說明。

如果您有特定的遙測需求、已有遙測解決方案，或需要精細控制遙測資料的擷取和處理方式，您也可以實作自己的遙測供應商。

向 [TelemetryProvider](https://docs.aws.amazon.com/sdkfornet/v4/apidocs/items/Runtime/TTelemetryProvider.html) 類別註冊您自己的實作。以下是如何註冊您自己的 `TracerProvider`和 的簡單範例`MeterProvider`。

```
using Amazon;
using Amazon.Runtime.Telemetry;
using Amazon.Runtime.Telemetry.Metrics;
using Amazon.Runtime.Telemetry.Tracing;

public class CustomTracerProvider : TracerProvider
{
    // Implement custom tracing logic here
}
public class CustomMeterProvider : MeterProvider
{
    // Implement custom metrics logic here
}

// Register custom implementations
AWSConfigs.TelemetryProvider.RegisterTracerProvider(new CustomTracerProvider());
AWSConfigs.TelemetryProvider.RegisterMeterProvider(new CustomMeterProvider());
```

**Topics**
+ [OpenTelemetry](observability-telemetry-providers-otel.md)

# 設定 OpenTelemetry 型遙測供應商
<a name="observability-telemetry-providers-otel"></a>

 適用於 .NET 的 AWS SDK 包含 OpenTelemetry 型遙測供應商的實作。如需如何將此提供者設定為全域遙測提供者的詳細資訊，請參閱 [設定 `TelemetryProvider`](observability.md#observability-conf-telemetry-provider)。若要使用此遙測提供者，您需要專案中的下列資源：
+ [OpenTelemetry.Instrumentation.AWS](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AWS) NuGet 套件。
+ 遙測匯出工具，例如 OTLP 或 主控台。如需詳細資訊，請參閱 OpenTelemetry 文件中的[匯出工具](https://opentelemetry.io/docs/languages/net/exporters/)。

開發套件隨附的 OpenTelemetry 實作可設定為減少 HTTPS 請求、登入資料和壓縮的追蹤量。若要這樣做，請將 `SuppressDownstreamInstrumentation`選項設定為 `true`，如下所示：

```
Sdk.CreateTracerProviderBuilder()
    .ConfigureResource(e => e.AddService("DemoOtel"))
    .AddAWSInstrumentation(options => options.SuppressDownstreamInstrumentation = true)
    .AddConsoleExporter()
    .Build();
```

如需此提供者的其他資訊，請參閱 中的部落格文章[適用於 .NET 的 AWS SDK 使用 OpenTelemetry 增強可觀測性](https://aws.amazon.com/blogs/developer/enhancing-observability-in-the-aws-sdk-for-net-with-opentelemetry/)。