

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS X-Ray SDK for .NET
<a name="xray-sdk-dotnet"></a>

**注記**  
X-Ray SDK/デーモンメンテナンス通知 – 2026 年 2 月 25 日、 AWS X-Ray SDKsデーモンはメンテナンスモードに移行します。 AWS では、X-Ray SDK とデーモンのリリースがセキュリティの問題にのみ対処するように制限されます。サポートタイムラインの詳細については、「[X-Ray SDK とデーモンのサポートタイムライン](xray-sdk-daemon-timeline.md)」を参照してください。OpenTelemetry に移行することをお勧めします。OpenTelemetry への移行の詳細については、「[X-Ray による計装から OpenTelemetry による計装への移行](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html)」を参照してください。

X-Ray SDK for .NET は、C\$1 .NET ウェブアプリケーション、.NET Core ウェブアプリケーション、および .NET Core 関数を計測するためのライブラリです AWS Lambda。トレースデータを生成して [X-Ray デーモン](xray-daemon.md)に送信するためのクラスとメソッドを提供します。これには、アプリケーションによって提供される受信リクエスト、およびアプリケーションがダウンストリーム AWS のサービス、HTTP ウェブ APIs、SQL データベースに対して行う呼び出しに関する情報が含まれます。

**注記**  
X-Ray SDK for .NET は、オープンソースプロジェクトです。プロジェクトに従って、GitHub: [github.com/aws/aws-xray-sdk-dotnet](https://github.com/aws/aws-xray-sdk-dotnet) で問題とプルリクエストを送信できます。

ウェブアプリケーションの場合は、最初に[メッセージハンドラーをウェブ設定に追加](xray-sdk-dotnet-messagehandler.md)して、受信リクエストをトレースします。メッセージハンドラーでは、トレース対象リクエストごとに「[セグメント](xray-concepts.md#xray-concepts-segments)」を作成し、レスポンスが送信されるとセグメントを完了します。セグメントが開いている間、SDK クライアントのメソッドを使用してセグメントに情報を追加し、サブセグメントを作成してダウンストリーム呼び出しをトレースできます。また、SDK では、セグメントが開いている間にアプリケーションがスローする例外を自動的に記録します。

インストルメント済みアプリケーションまたはサービスによって呼び出される Lambda 関数の場合、Lambda は [トレースヘッダー](xray-concepts.md#xray-concepts-tracingheader) を読み取り、サンプリングされたリクエストを自動的にトレースします。その他の関数については、[Lambda の設定](xray-services-lambda.md) から受信リクエストのサンプリングとトレースを行うことができます。いずれの場合も、Lambda はセグメントを作成し、X-Ray SDK に提供します。

**注記**  
Lambda では、X-Ray SDK はオプションです。関数でこれを使用しない場合、サービスマップには Lambda サービスのノードと Lambda 関数ごとに 1 つのノードが含まれます。SDK を追加することで、関数コードをインストルメントして、Lambda で記録された関数セグメントにサブセグメントを追加することができます。詳細については「[AWS Lambda および AWS X-Ray](xray-services-lambda.md)」を参照してください。

次に、X-Ray SDK for .NET を使用して次の操作を行います。[を計測します AWS SDK for .NET クライアント](xray-sdk-dotnet-sdkclients.md)。計測されたクライアントを使用してダウンストリーム AWS のサービス またはリソースを呼び出すたびに、SDK はサブセグメントの呼び出しに関する情報を記録します。 AWS サービスおよびサービス内でアクセスするリソースは、トレースマップにダウンストリームノードとして表示され、個々の接続のエラーとスロットリングの問題を識別するのに役立ちます。

X-Ray SDK for .NET は、また、[HTTP ウェブ API](xray-sdk-dotnet-httpclients.md) および [SQL データベース](xray-sdk-dotnet-sqlqueries.md)に対するダウンストリーム呼び出しの計測もできます。`System.Net.HttpWebRequest` の `GetResponseTraced` 拡張メソッドは送信 HTTP 呼び出しをトレースします。X-Ray SDK for .NET の `SqlCommand` バージョンを使用して SQL クエリを計測します。

SDK の活用を開始したら、[レコーダーとメッセージハンドラーを設定](xray-sdk-dotnet-configuration.md)して、その動作をカスタマイズします。プラグインを追加して、アプリケーションを実行しているコンピューティングリソースに関するデータを記録したり、サンプリングルールを定義することでサンプリングの動作をカスタマイズしたり、アプリケーションログに SDK からの情報をより多くあるいは少なく表示するようにログレベルを設定できます。

アプリケーションが[注釈やメタデータ](xray-sdk-dotnet-segment.md)で行うリクエストや作業に関する追加情報を記録します。注釈は、[フィルタ式](xray-console-filters.md)で使用するためにインデックス化されたシンプルなキーと値のペアで、特定のデータが含まれているトレースを検索できます。メタデータのエントリは制約が緩やかで、JSON にシリアル化できるオブジェクトと配列全体を記録できます。

**注釈とメタデータ**  
注釈およびメタデータとは、X-Ray SDK を使用してセグメントに追加する任意のテキストです。注釈は、フィルタ式用にインデックス付けされます。メタデータはインデックス化されませんが、X-Ray コンソールまたは API を使用して raw セグメントで表示できます。X-Ray への読み取りアクセスを許可した人は誰でも、このデータを表示できます。

コードに多数の計測されたクライアントがある場合、単一のリクエストセグメントには計測されたクライアントで行われた呼び出しごとに 1 個の多数のサブセグメントを含めることができます。[カスタムサブセグメント](xray-sdk-dotnet-subsegments.md)で、クライアント呼び出しをラップすることで、サブセグメントを整理してグループできます。関数全体またはコードの任意のセクションのサブセグメントを作成し、親セグメントにすべてのレコードを記述する代わりにサブセグメントにメタデータと注釈を記録できます。

SDK のクラスとメソッドに関するリファレンスドキュメントについては、以下を参照してください。
+ [AWS X-Ray SDK for .NET API リファレンス](https://docs.aws.amazon.com//xray-sdk-for-dotnet/latest/reference)
+ [AWS X-Ray SDK for .NET Core API リファレンス](https://docs.aws.amazon.com//xray-sdk-for-dotnetcore/latest/reference)

同じパッケージが .NET および .NET Core の両方をサポートしますが、使用されるクラスは異なります。この章の例は、そのクラスが .NET Core に固有でない限り、.NET API リファレンスにリンクされています。

## 要件
<a name="xray-sdk-requirements"></a>

X-Ray SDK for .NET には、.NET Framework 4.5 以降および が必要です AWS SDK for .NET。

.NET Core アプリケーションと関数の場合、SDK では .NET Core 2.0 以降が必要になります。

## .NET X-Ray SDK をアプリケーションに追加する
<a name="xray-sdk-dotnet-dependencies"></a>

NuGet を使用して、X-Ray SDK for .NET をアプリケーションに追加します。

**NuGet パッケージマネージャーで X-Ray SDK for .NET を Visual Studio にインストールするには**

1. [**ツール**]、[**NuGet パッケージマネージャー**]、[**Manage NuGet Packages for Solution (ソリューションに対する NuGet パッケージの管理)**] を選択します。

1. の検索**AWSXrayRecorder**。

1. パッケージを選択し、[**Install**] を選択します。

## 依存関係管理
<a name="xray-sdk-dotnet-dependencies"></a>

X-Ray SDK for .NET[NuGet](https://www.nuget.org/packages/AWSXRayRecorder/)。SDK の パッケージマネージャーを使ったインストール

```
Install-Package AWSXRayRecorder -Version 2.10.1
```

-`AWSXRayRecorder v2.10.1`NuGet パッケージには次の依存関係があります。

### .NET フレームワーク 4.5
<a name="xray-sdk-dotnet-dependencies-4.5"></a>

```
AWSXRayRecorder (2.10.1)
|
|-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- AWSSDK.Core (>= 3.3.25.1)
|      
|-- AWSXRayRecorder.Handlers.AspNet (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.AwsSdk (>= 2.8.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.EntityFramework (>= 1.1.1)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- EntityFramework (>= 6.2.0)
|
|-- AWSXRayRecorder.Handlers.SqlServer (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.System.Net (>= 2.7.3)
    |-- AWSXRayRecorder.Core (>= 2.10.1)
```

### .NET フレームワーク 2.0
<a name="xray-sdk-dotnet-dependencies-2.0"></a>

```
AWSXRayRecorder (2.10.1)
|
|-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- AWSSDK.Core (>= 3.3.25.1)
|   |-- Microsoft.AspNetCore.Http (>= 2.0.0)
|   |-- Microsoft.Extensions.Configuration (>= 2.0.0)
|   |-- System.Net.Http (>= 4.3.4)
|      
|-- AWSXRayRecorder.Handlers.AspNetCore (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- Microsoft.AspNetCore.Http.Extensions (>= 2.0.0)
|   |-- Microsoft.AspNetCore.Mvc.Abstractions (>= 2.0.0)
|
|-- AWSXRayRecorder.Handlers.AwsSdk (>= 2.8.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|
|-- AWSXRayRecorder.Handlers.EntityFramework (>= 1.1.1)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- Microsoft.EntityFrameworkCore.Relational (>= 3.1.0)
|
|-- AWSXRayRecorder.Handlers.SqlServer (>= 2.7.3)
|   |-- AWSXRayRecorder.Core (>= 2.10.1)
|   |-- System.Data.SqlClient (>= 4.4.0)
|
|-- AWSXRayRecorder.Handlers.System.Net (>= 2.7.3)
    |-- AWSXRayRecorder.Core (>= 2.10.1)
```

依存関係管理の詳細については、マイクロソフトのドキュメントを参照してください。[NuGet の依存関係](https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/dependencies)そして[NuGet 依存関係の解決](https://docs.microsoft.com/en-us/nuget/concepts/dependency-resolution)。