

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Specifica di metadati personalizzati
<a name="CloudWatch-RUM-custom-metadata"></a>

CloudWatch RUM allega dati aggiuntivi a ciascun evento come metadati. I metadati degli eventi sono costituiti da attributi sotto forma di coppie chiave-valore. È possibile utilizzare questi attributi per cercare o filtrare gli eventi nella console CloudWatch RUM. Per impostazione predefinita, CloudWatch RUM crea alcuni metadati per voi. Per ulteriori informazioni sui metadati predefiniti, consulta [Metadati degli eventi RUM](CloudWatch-RUM-datacollected.md#CloudWatch-RUM-datacollected-metadata).

È inoltre possibile utilizzare il client web CloudWatch RUM per aggiungere metadati personalizzati agli eventi CloudWatch RUM. I metadati personalizzati possono includere attributi di sessione e attributi di pagina.

Per aggiungere metadati personalizzati, è necessario utilizzare la versione 1.10.0 o successiva del CloudWatch client web RUM.

## Requisiti e sintassi
<a name="CloudWatch-RUM-custom-metadata-syntax"></a>

Ogni evento può includere fino a 10 attributi personalizzati nei metadati. I requisiti di sintassi per gli attributi personalizzati sono i seguenti:
+ **Chiavi**
  + Massimo 128 caratteri
  + Può includere caratteri alfanumerici, due punti (:) e caratteri di sottolineatura (\_)
  + Non può iniziare con `aws:`.
  + Non può essere composto interamente da nessuna delle parole chiave riservate elencate nella sezione seguente. È possibile utilizzare queste parole chiave come parte di un nome chiave più lungo.
+ **Valori**
  + Massimo 256 caratteri
  + Deve essere costituito da stringhe, numeri o valori booleani

**Parole chiave riservate**

Non puoi utilizzare le seguenti parole chiave riservate come nomi chiave completi. Puoi utilizzare le seguenti parole chiave come parte di un nome chiave più lungo, ad esempio `applicationVersion`.
+ `browserLanguage`
+ `browserName`
+ `browserVersion`
+ `countryCode`
+ `deviceType`
+ `domain`
+ `interaction`
+ `osName`
+ `osVersion`
+ `pageId`
+ `pageTags`
+ `pageTitle`
+ `pageUrl`
+ `parentPageId`
+ `platformType`
+ `referrerUrl`
+ `subdivisionCode`
+ `title`
+ `url`
+ `version`

**Nota**  
CloudWatch RUM rimuove gli attributi personalizzati dagli eventi RUM se un attributo include una chiave o un valore non valido o se è già stato raggiunto il limite di 10 attributi personalizzati per evento. 

## Aggiunta di attributi di sessione
<a name="CloudWatch-RUM-session-attributes"></a>

Quando configuri degli attributi di sessione personalizzati, questi vengono aggiunti a tutti gli eventi di una sessione. È possibile configurare gli attributi di sessione durante l'inizializzazione del client Web CloudWatch RUM o in fase di esecuzione utilizzando il `addSessionAttributes` comando.

Ad esempio, puoi aggiungere la versione dell'applicazione come attributo di sessione. Quindi, nella console CloudWatch RUM, puoi filtrare gli errori per versione per scoprire se un tasso di errore maggiore è associato a una particolare versione dell'applicazione. 

**Aggiunta di un attributo di sessione all'inizializzazione (esempio NPM)**

La sezione del codice in grassetto aggiunge l'attributo di sessione.

```
import { AwsRum, AwsRumConfig } from 'aws-rum-web';

try {
  const config: AwsRumConfig = {
    allowCookies: true,
    endpoint: "https://dataplane.rum.us-west-2.amazonaws.com",
    guestRoleArn: "arn:aws:iam::000000000000:role/RUM-Monitor-us-west-2-000000000000-00xx-Unauth",
    identityPoolId: "us-west-2:00000000-0000-0000-0000-000000000000",
    sessionSampleRate: 1,
    telemetries: ['errors', 'performance'],
    sessionAttributes: {
        applicationVersion: "1.3.8"
    }
  };

  const APPLICATION_ID: string = '00000000-0000-0000-0000-000000000000';
  const APPLICATION_VERSION: string = '1.0.0';
  const APPLICATION_REGION: string = 'us-west-2';

  const awsRum: AwsRum = new AwsRum(
    APPLICATION_ID,
    APPLICATION_VERSION,
    APPLICATION_REGION,
    config
  );
} catch (error) {
  // Ignore errors thrown during CloudWatch RUM web client initialization
}
```

**Aggiunta di un attributo di sessione in fase di runtime (esempio NPM)**

```
awsRum.addSessionAttributes({ 
    applicationVersion: "1.3.8"    
})
```

**Aggiunta di un attributo di sessione in fase di inizializzazione (esempio di script incorporato)**

La sezione del codice in grassetto aggiunge l'attributo di sessione.

```
<script>
    (function(n,i,v,r,s,c,u,x,z){...})(
        'cwr',
        '00000000-0000-0000-0000-000000000000',
        '1.0.0',
        'us-west-2',
        'https://client.rum.us-east-1.amazonaws.com/1.0.2/cwr.js',
        {
            sessionSampleRate:1,
            guestRoleArn:'arn:aws:iam::000000000000:role/RUM-Monitor-us-west-2-000000000000-00xx-Unauth',
            identityPoolId:'us-west-2:00000000-0000-0000-0000-000000000000',
            endpoint:'https://dataplane.rum.us-west-2.amazonaws.com',
            telemetries:['errors','http','performance'],
            allowCookies:true,
            sessionAttributes: {
                applicationVersion: "1.3.8"
            }
        }
    );
</script>
```

**Aggiunta di un attributo di sessione in fase di runtime (esempio di script incorporato)**

```
<script>
    function addSessionAttribute() {
        cwr('addSessionAttributes', {
            applicationVersion: "1.3.8"
        })
    }
            
</script>
```

## Aggiunta di attributi di pagina
<a name="CloudWatch-RUM-page-attributes"></a>

Quando configuri gli attributi di pagina personalizzati, questi vengono aggiunti a tutti gli eventi della pagina corrente. È possibile configurare gli attributi di pagina durante l'inizializzazione del client Web CloudWatch RUM o in fase di esecuzione utilizzando il `recordPageView` comando.

Ad esempio, puoi aggiungere il modello di pagina come attributo di pagina. Quindi, nella console CloudWatch RUM, è possibile filtrare gli errori in base ai modelli di pagina per scoprire se un tasso di errore maggiore è associato a un particolare modello di pagina dell'applicazione. 

**Aggiunta di un attributo di pagina in fase di inizializzazione (esempio NPM)**

La sezione del codice in grassetto aggiunge l'attributo di pagina.

```
const awsRum: AwsRum = new AwsRum(
    APPLICATION_ID,
    APPLICATION_VERSION,
    APPLICATION_REGION,
    { disableAutoPageView:  true // optional }
);
awsRum.recordPageView({  
    pageId:'/home',  
    pageAttributes: {
      template: 'artStudio'
    }
});
const credentialProvider = new CustomCredentialProvider();
if(awsCreds) awsRum.setAwsCredentials(credentialProvider);
```

**Aggiunta di un attributo di pagina in fase di runtime (esempio NPM)**

```
awsRum.recordPageView({ 
    pageId: '/home', 
    pageAttributes: {
        template: 'artStudio'
    } 
});
```

**Aggiunta di un attributo di pagina in fase di inizializzazione (esempio di script incorporato)**

La sezione del codice in grassetto aggiunge l'attributo di pagina.

```
<script>
    (function(n,i,v,r,s,c,u,x,z){...})(
        'cwr',
        '00000000-0000-0000-0000-000000000000',
        '1.0.0',
        'us-west-2',
        'https://client.rum.us-east-1.amazonaws.com/1.0.2/cwr.js',
        {
            disableAutoPageView: true //optional
        }
    );
    cwr('recordPageView', { 
       pageId: '/home',  
       pageAttributes: {
           template: 'artStudio'
       }
    });
    const awsCreds = localStorage.getItem('customAwsCreds');
    if(awsCreds) cwr('setAwsCredentials', awsCreds)
</script>
```

**Aggiunta di un attributo di pagina in fase di runtime (esempio di script incorporato)**

```
<script>
    function recordPageView() {
        cwr('recordPageView', { 
            pageId: '/home', 
            pageAttributes: {
                template: 'artStudio'
            }
        });
    }        
</script>
```

## Filtraggio in base agli attributi dei metadati nella console
<a name="CloudWatch-RUM-custom-attiributes-console"></a>

Per filtrare le visualizzazioni nella console CloudWatch RUM con qualsiasi attributo di metadati integrato o personalizzato, utilizza la barra di ricerca. Nella barra di ricerca, puoi specificare fino a 20 termini di filtro sotto forma di **chiave=valore** da applicare alle visualizzazioni. Ad esempio, per filtrare i dati solo per il browser Chrome, puoi aggiungere il termine di ricerca **browserName=Chrome**.

Per impostazione predefinita, la console CloudWatch RUM recupera i 100 attributi, chiavi e valori più comuni da visualizzare nel menu a discesa nella barra di ricerca. Per aggiungere altri attributi di metadati come termini di filtro, inserisci la chiave e il valore completi dell'attributo nella barra di ricerca. 

Un filtro può includere fino a 20 termini e puoi salvare fino a 20 filtri per monitorare l'app. Quando salvi un filtro, questo viene salvato nel menu a discesa **Saved filters** (Filtri salvati). Puoi anche eliminare i filtri salvati. 