

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à.

# Sintassi variabile
<a name="v10-dash-variable-syntax"></a>

****  
**Questo argomento della documentazione è progettato per le aree di lavoro Grafana che supportano la versione 10.x di Grafana.**  
Per le aree di lavoro Grafana che supportano la versione 9.x di Grafana, vedere. [Lavorare nella versione 9 di Grafana](using-grafana-v9.md)  
Per le aree di lavoro Grafana che supportano la versione 8.x di Grafana, vedere. [Funzionamento in Grafana versione 8](using-grafana-v8.md)

I titoli dei pannelli e le query metriche possono fare riferimento a variabili utilizzando due sintassi diverse.
+ `$varname`— Questa sintassi è facile da leggere, ma non consente di utilizzare una variabile al centro di una parola.

  **Esempio**: `apps.frontend.$server.requests.count`
+ `${var_name}`— Utilizzate questa sintassi quando desiderate utilizzare una variabile al centro di un'espressione.
+ `${var_name:<format>}`— Questo formato offre un maggiore controllo sul modo in cui Grafana interpreta i valori. Per ulteriori informazioni, consulta *Opzioni avanzate di formato variabile*, che segue questo elenco.
+ `[[varname]]`— Non utilizzare. Questa sintassi è vecchia ed è obsoleta. Verrà rimosso in una versione futura.

Prima che le query vengano inviate alla fonte dati, la query viene *interpolata*, il che significa che la variabile viene sostituita con il valore corrente. Durante l'interpolazione, è possibile che il valore della variabile venga *ignorato per* conformarsi alla sintassi del linguaggio di interrogazione e del luogo in cui viene utilizzato. Ad esempio, una variabile utilizzata in un'espressione regex in una query InfluxDB o Prometheus verrà escapitata con regex.

**Opzioni avanzate di formato variabile**

La formattazione dell'interpolazione delle variabili dipende dall'origine dei dati, ma ci sono alcune situazioni in cui potresti voler modificare la formattazione predefinita.

Ad esempio, l'impostazione predefinita per l'origine dati MySQL consiste nell'unire più valori separati da virgole da virgole:. `'server01','server02'` In alcuni casi, potresti voler avere una stringa separata da virgole senza virgolette:. `server01,server02` Puoi farlo accadere con le opzioni avanzate di formattazione delle variabili elencate di seguito.

**Sintassi generale**

Sintassi: `${var_name:option}`

Se viene specificata un'opzione di formattazione non valida, allora `glob` è l'opzione. default/fallback 

**CSV**

Formatta le variabili con più valori come una stringa separata da virgole.

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:csv}'
Interpolation result:  'test1,test2'
```

**Distribuito - OpenTSDB**

Formatta le variabili con più valori in formato personalizzato per OpenTSDB.

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:distributed}'
Interpolation result:  'test1,servers=test2'
```

**Virgolette doppie**

Formatta le variabili a valore singolo e multivalore in una stringa separata da virgole, scade `"` in ogni valore per e cita ogni valore con. `\"` `"`

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:doublequote}'
Interpolation result:  '"test1","test2"'
```

**Glob - Grafite**

Formatta le variabili con più valori in un glob (per le query Graphite).

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:glob}'
Interpolation result:  '{test1,test2}'
```

**JSON**

Formatta le variabili con più valori come una stringa separata da virgole.

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:json}'
Interpolation result:  '["test1", "test2"]'
```

**Lucene - Elasticsearch**

Formatta le variabili con più valori in formato Lucene per Elasticsearch.

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:lucene}'
Interpolation result:  '("test1" OR "test2")'
```

**Codice percentuale**

Formatta variabili singole e multivalore da utilizzare nei parametri URL.

```
servers = [ 'foo()bar BAZ',  'test2' ]
String to interpolate:  '${servers:percentencode}'
Interpolation result:  'foo%28%29bar%20BAZ%2Ctest2'
```

**Tubo**

Formatta le variabili con più valori in una stringa separata da pipe.

```
servers = [ 'test1.',  'test2' ]
String to interpolate:  '${servers:pipe}'
Interpolation result:  'test1.|test2'
```

**Raw**

Disattiva la formattazione specifica dell'origine dati, ad esempio le virgolette singole in una query SQL.

```
servers = [ 'test.1',  'test2' ]
String to interpolate:  '${var_name:raw}'
Interpolation result:  'test.1,test2'
```

**Espressione regolare**

Formatta le variabili con più valori in una stringa regex.

```
servers = [ 'test1.',  'test2' ]
String to interpolate:  '${servers:regex}'
Interpolation result:  '(test1\.|test2)'
```

**Citazione singola**

Formatta le variabili a valore singolo e multivalore in una stringa separata da virgole, scade `'` in ogni valore per e cita ogni valore con. `\'` `'`

```
servers = [ 'test1',  'test2' ]
String to interpolate:  '${servers:singlequote}'
Interpolation result:  "'test1','test2'"
```

**Sqlstring**

Formatta le variabili a valore singolo e multivalore in una stringa separata da virgole, scade `'` in ogni valore per e cita ogni valore con. `''` `'`

```
servers = [ "test'1",  "test2" ]
String to interpolate:  '${servers:sqlstring}'
Interpolation result:  "'test''1','test2'"
```

**Text (Testo)**

Formatta le variabili a valore singolo e multivalore nella loro rappresentazione testuale. Per una singola variabile, restituirà solo la rappresentazione del testo. Per le variabili multivalore, restituirà la rappresentazione del testo combinata con. `+`

```
servers = [ "test1",  "test2" ]
String to interpolate:  '${servers:text}'
Interpolation result:  "test1 + test2"
```

**Parametri di query**

Formatta le variabili a valore singolo e multivalore nella loro rappresentazione dei parametri di interrogazione. Ad esempio: `var-foo=value1&var-foo=value2`

```
servers = [ "test1",  "test2" ]
String to interpolate:  '${servers:queryparam}'
Interpolation result:  "var-servers=test1&var-servers=test2"
```