

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Adicione anotações e metadados aos segmentos com o X-Ray SDK para Node.js
<a name="xray-sdk-nodejs-segment"></a>

**nota**  
Aviso de SDK/Daemon manutenção do X-Ray — Em 25 de fevereiro de 2026, o AWS X-Ray SDKs/Daemon entrará no modo de manutenção, onde AWS limitará as versões do X-Ray SDK e do Daemon para tratar apenas de problemas de segurança. Para obter mais informações sobre a linha do tempo do suporte, consulte [Cronograma de suporte do X-Ray SDK e do Daemon Support](xray-sdk-daemon-timeline.md). Recomendamos migrar para o. OpenTelemetry Para obter mais informações sobre a migração para OpenTelemetry, consulte [Migrando da instrumentação X-Ray para a instrumentação](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html). OpenTelemetry 

Você pode registrar informações adicionais sobre solicitações, o ambiente ou o aplicativo com anotações e metadados. Também é possível adicionar anotações e metadados aos segmentos que o X-Ray SDK cria ou aos subsegmentos personalizados que você cria.

**Anotações** são pares de chave-valor com valores boolianos, de string ou número. As anotações são indexadas para serem usadas com [expressões de filtro](xray-console-filters.md). Use anotações para registrar dados que você deseja usar para agrupar rastreamentos no console ou ao chamar a API [https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html](https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSummaries.html).

**Metadados** são pares chave-valor que podem ter valores de qualquer tipo, incluindo objetos e listas, mas não são indexados para uso com expressões de filtro. Use metadados para registrar dados adicionais que você deseja armazenar no rastreamento e não precisa usar com a pesquisa.

Além de anotações e metadados, você também pode [registrar strings de ID de usuário](#xray-sdk-nodejs-segment-userid) em segmentos. IDs Os usuários são registrados em um campo separado nos segmentos e são indexados para uso com a pesquisa.

**Topics**
+ [Registrar anotações com o X-Ray SDK para Node.js](#xray-sdk-nodejs-segment-annotations)
+ [Registrar metadados com o X-Ray SDK para Node.js](#xray-sdk-nodejs-segment-metadata)
+ [Gravando usuário IDs com o X-Ray SDK para Node.js](#xray-sdk-nodejs-segment-userid)

## Registrar anotações com o X-Ray SDK para Node.js
<a name="xray-sdk-nodejs-segment-annotations"></a>

Use anotações para registrar informações em segmentos ou subsegmentos que você deseja indexar para pesquisa.

**Requisitos de anotação**
+ **Chaves**: a chave para uma anotação do X-Ray pode ter até 500 caracteres alfanuméricos. Você não pode usar espaços ou símbolos que não sejam um ponto (.)
+ **Valores**: o valor de uma anotação do X-Ray pode ter até 1.000 caracteres Unicode.
+ O número de **anotações**: você pode usar até cinquenta anotações por rastreamento.

**Como registrar anotações**

1. Obtenha uma referência para o segmento ou subsegmento.

   ```
   var AWSXRay = require('aws-xray-sdk');
   ...
   var document = AWSXRay.getSegment();
   ```

1. Chame `addAnnotation` com uma chave de string e um valor de número, string ou booliano.

   ```
   document.addAnnotation("mykey", "my value");
   ```

   O exemplo a seguir mostra como chamar `putAnnotation` com uma chave String que inclui um ponto e um valor booliano, numérico ou de string.

   ```
   document.putAnnotation("testkey.test", "my value");
   ```

O SDK registra anotações como pares de chave-valor em um objeto `annotations` no documento de segmentos. Chamar `addAnnotation` duas vezes com a mesma chave substitui os valores registrados anteriormente no mesmo segmento ou subsegmento.

Para encontrar rastreamentos que têm anotações com valores específicos, use a palavra-chave `annotation[key]` em uma [expressão de filtro](xray-console-filters.md).

**Example app.js: anotações**  

```
var AWS = require('aws-sdk');
var AWSXRay = require('aws-xray-sdk');
var ddb = AWSXRay.captureAWSClient(new AWS.DynamoDB());
...
app.post('/signup', function(req, res) {
    var item = {
        'email': {'S': req.body.email},
        'name': {'S': req.body.name},
        'preview': {'S': req.body.previewAccess},
        'theme': {'S': req.body.theme}
    };

    var seg = AWSXRay.getSegment();
    seg.addAnnotation('theme', req.body.theme);
  
    ddb.putItem({
      'TableName': ddbTable,
      'Item': item,
      'Expected': { email: { Exists: false } }
  }, function(err, data) {
...
```

## Registrar metadados com o X-Ray SDK para Node.js
<a name="xray-sdk-nodejs-segment-metadata"></a>

Use metadados para registrar informações em segmentos ou subsegmentos dos quais você não precisa indexados para pesquisa. Valores de metadados podem ser strings, números, boolianos ou outro objeto que possa ser serializado em uma matriz ou objeto JSON.

**Como registrar metadados**

1. Obtenha uma referência para o segmento ou subsegmento.

   ```
   var AWSXRay = require('aws-xray-sdk');
   ...
   var document = AWSXRay.getSegment();
   ```

1. Chame `addMetadata` com uma chave de string, um booliano, um número, uma string ou valor de objeto e um namespace de string.

   ```
   document.addMetadata("my key", "my value", "my namespace");
   ```

   or

   Chame `addMetadata` com apenas uma chave e valor.

   ```
   document.addMetadata("my key", "my value");
   ```

Se você não especificar um namespace, o SDK usará `default`. Chamar `addMetadata` duas vezes com a mesma chave substitui os valores registrados anteriormente no mesmo segmento ou subsegmento.

## Gravando usuário IDs com o X-Ray SDK para Node.js
<a name="xray-sdk-nodejs-segment-userid"></a>

Registre o usuário IDs nos segmentos da solicitação para identificar o usuário que enviou a solicitação. Essa operação não é compatível com AWS Lambda funções porque os segmentos em ambientes Lambda são imutáveis. A chamada `setUser` pode ser aplicada somente a segmentos, não a subsegmentos.

**Para gravar usuário IDs**

1. Obtenha uma referência para o segmento ou subsegmento.

   ```
   var AWSXRay = require('aws-xray-sdk');
   ...
   var document = AWSXRay.getSegment();
   ```

1. Chame `setUser()` com um ID de string do usuário que enviou a solicitação.

   ```
   var user = 'john123';
   
   AWSXRay.getSegment().setUser(user);
   ```

É possível chamar `setUser` para registrar o ID de usuário assim que o aplicativo Express iniciar o processamento de uma solicitação. Se pretende usar o segmento somente para definir o ID de usuário, é possível vincular as chamadas em uma única linha.

**Example app.js: ID de usuário**  

```
var AWS = require('aws-sdk');
var AWSXRay = require('aws-xray-sdk');
var uuidv4 = require('uuid/v4');
var ddb = AWSXRay.captureAWSClient(new AWS.DynamoDB());
...
    app.post('/signup', function(req, res) {
    var userId = uuidv4();
    var item = {
        'userId': {'S': userId},
        'email': {'S': req.body.email},
        'name': {'S': req.body.name}
    };

    var seg = AWSXRay.getSegment().setUser(userId);
  
    ddb.putItem({
      'TableName': ddbTable,
      'Item': item,
      'Expected': { email: { Exists: false } }
  }, function(err, data) {
...
```

Para encontrar rastreamentos para um ID de usuário, use a `user` palavra-chave em uma [expressão de filtragem](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html).