

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verfolgen von AWS SDK-Aufrufen mit dem X-Ray SDK für Node.js
<a name="xray-sdk-nodejs-awssdkclients"></a>

**Anmerkung**  
 SDK/Daemon X-Ray-Wartungshinweis — Am 25. Februar 2026 wechselt das AWS X-Ray SDKs/Daemon in den Wartungsmodus, in dem die Versionen von X-Ray SDK und Daemon auf Sicherheitsprobleme beschränkt AWS werden. Weitere Informationen zum Zeitplan für den Support finden Sie unter. [Zeitplan für die Support von X-Ray SDK und Daemon](xray-sdk-daemon-timeline.md) Wir empfehlen die Migration zu OpenTelemetry. Weitere Informationen zur Migration zu OpenTelemetry finden Sie unter [Migration von X-Ray-Instrumentierung zu OpenTelemetry Instrumentierung](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html).

Wenn Ihre Anwendung Aufrufe tätigt, um Daten AWS-Services zu speichern, in eine Warteschlange zu schreiben oder Benachrichtigungen zu senden, verfolgt das X-Ray SDK for Node.js die Aufrufe im Downstream in [Untersegmenten](xray-sdk-nodejs-subsegments.md). Traced und Ressourcen AWS-Services, auf die Sie innerhalb dieser Services zugreifen (z. B. ein Amazon S3-Bucket oder eine Amazon SQS SQS-Warteschlange), werden als Downstream-Knoten auf der Trace-Map in der X-Ray-Konsole angezeigt.

 AWS [Instrumenten-SDK-Clients, die Sie über [AWS SDK für JavaScript V2 oder AWS SDK für JavaScript V3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/welcome.html) erstellen.](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/welcome.html) Jede AWS SDK-Version bietet unterschiedliche Methoden zur Instrumentierung von AWS SDK-Clients.

**Anmerkung**  
Derzeit gibt das AWS X-Ray SDK für Node.js bei der Instrumentierung von AWS SDK für JavaScript V3-Clients weniger Segmentinformationen zurück als bei der Instrumentierung von V2-Clients. Beispielsweise geben Untersegmente, die Aufrufe von DynamoDB darstellen, den Tabellennamen nicht zurück. Wenn Sie diese Segmentinformationen in Ihren Traces benötigen, sollten Sie die Verwendung von V2 in Betracht ziehen. AWS SDK für JavaScript 

------
#### [ AWS SDK für JavaScript V2 ]

Sie können alle AWS SDK V2-Clients instrumentieren, indem Sie Ihre `aws-sdk` require-Anweisung in einen Call to einbinden`AWSXRay.captureAWS`.

**Example app.js — AWS SDK-Instrumentierung**  

```
const AWS = AWSXRay.captureAWS(require('aws-sdk'));
```

Um einzelne Clients zu instrumentieren, binden Sie Ihren AWS SDK-Client in einen Aufruf von ein`AWSXRay.captureAWSClient`. Instrumentieren Sie beispielsweise einen `AmazonDynamoDB`-Client wie folgt:

**Example app.js — DynamoDB-Client-Instrumentierung**  

```
    const AWSXRay = require('aws-xray-sdk');
...
    const ddb = AWSXRay.captureAWSClient(new AWS.DynamoDB());
```

**Warnung**  
Verwenden Sie nicht `captureAWS` und `captureAWSClient` zusammen. Dies führt zu doppelten Untersegmenten.

Wenn Sie [TypeScript](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html)mit [ECMAScriptModulen](https://nodejs.org/api/esm.html) (ESM) Ihren JavaScript Code laden möchten, verwenden Sie das folgende Beispiel, um Bibliotheken zu importieren:

**Example app.js — AWS SDK-Instrumentierung**  

```
import * as AWS from 'aws-sdk';
import * as AWSXRay from 'aws-xray-sdk';
```

Verwenden Sie den folgenden Code, um alle AWS Clients mit ESM zu instrumentieren:

**Example app.js — AWS SDK-Instrumentierung**  

```
import * as AWS from 'aws-sdk';
import * as AWSXRay from 'aws-xray-sdk';
const XRAY_AWS = AWSXRay.captureAWS(AWS);
const ddb = new XRAY_AWS.DynamoDB();
```

Für alle Dienste können Sie den Namen der aufgerufenen API in der X-Ray-Konsole sehen. Für eine Untergruppe von Diensten fügt das X-Ray SDK dem Segment Informationen hinzu, um die Service Map detaillierter zu gestalten.

Wenn Sie beispielsweise einen Aufruf mit einem instrumentierten DynamoDB-Client tätigen, fügt das SDK den Tabellennamen dem Segment für Aufrufe hinzu, die auf eine Tabelle abzielen. In der Konsole wird jede Tabelle als separater Knoten in der Service Map angezeigt, mit einem generischen DynamoDB-Knoten für Aufrufe, die nicht auf eine Tabelle abzielen.

**Example Untersegment für einen Aufruf von DynamoDB zum Speichern eines Elements**  

```
{
  "id": "24756640c0d0978a",
  "start_time": 1.480305974194E9,
  "end_time": 1.4803059742E9,
  "name": "DynamoDB",
  "namespace": "aws",
  "http": {
    "response": {
      "content_length": 60,
      "status": 200
    }
  },
  "aws": {
    "table_name": "scorekeep-user",
    "operation": "UpdateItem",
    "request_id": "UBQNSO5AEM8T4FDA4RQDEB94OVTDRVV4K4HIRGVJF66Q9ASUAAJG",
  }
}
```

Wenn Sie auf benannte Ressourcen zugreifen, werden durch Aufrufe der folgenden Services weitere Knoten in der Service-Übersicht erstellt. Durch Aufrufe, die keinen bestimmten Ressourcen gelten, wird ein generischer Knoten für den Service erstellt.
+ **Amazon DynamoDB — Tabellenname**
+ **Amazon Simple Storage Service** — Bucket und Schlüsselname
+ **Amazon Simple Queue Service** — Name der Warteschlange

------
#### [ AWS SDK für JavaScript V3 ]

Die AWS SDK für JavaScript Version 3 ist modular aufgebaut, sodass Ihr Code nur die Module lädt, die er benötigt. Aus diesem Grund ist es nicht möglich, alle AWS SDK-Clients zu instrumentieren, da V3 die `captureAWS` Methode nicht unterstützt.

Wenn Sie TypeScript mit ECMAScript Modules (ESM) Ihren JavaScript Code laden möchten, können Sie das folgende Beispiel verwenden, um Bibliotheken zu importieren:

```
import * as AWS from 'aws-sdk';
import * as AWSXRay from 'aws-xray-sdk';
```

Instrumentieren Sie jeden AWS SDK-Client mit der `AWSXRay.captureAWSv3Client` Methode. Instrumentieren Sie beispielsweise einen `AmazonDynamoDB`-Client wie folgt:

**Example app.js — DynamoDB-Client-Instrumentierung mit SDK für Javascript V3**  

```
    const AWSXRay = require('aws-xray-sdk');
    const { DynamoDBClient } = require("@aws-sdk/client-dynamodb");
...
    const ddb = AWSXRay.captureAWSv3Client(new DynamoDBClient({ region: "region" }));
```

Bei Verwendung von AWS SDK für JavaScript V3 werden Metadaten wie Tabellenname, Bucket- und Schlüsselname oder Warteschlangenname derzeit nicht zurückgegeben. Daher enthält die Trace-Map keine separaten Knoten für jede benannte Ressource, wie dies bei der Instrumentierung von AWS SDK-Clients mit V2 der Fall wäre. AWS SDK für JavaScript 

**Example Untersegment für einen Aufruf von DynamoDB zum Speichern eines Elements bei Verwendung von V3 AWS SDK für JavaScript**  

```
{
  "id": "24756640c0d0978a",
  "start_time": 1.480305974194E9,
  "end_time": 1.4803059742E9,
  "name": "DynamoDB",
  "namespace": "aws",
  "http": {
    "response": {
      "content_length": 60,
      "status": 200
    }
  },
  "aws": {
    "operation": "UpdateItem",
    "request_id": "UBQNSO5AEM8T4FDA4RQDEB94OVTDRVV4K4HIRGVJF66Q9ASUAAJG",
  }
}
```

------