

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

# Sintaxe da variável
<a name="v9-dash-variable-syntax"></a>

****  
Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana compatíveis com o **Grafana versão 9.x**.  
Para espaços de trabalho do Grafana que suportam a versão 12.x do Grafana, consulte. [Trabalhando na versão 12 do Grafana](using-grafana-v12.md)  
Para espaços de trabalho do Grafana compatíveis com o Grafana versão 10.x, consulte [Trabalhar no Grafana versão 10](using-grafana-v10.md).  
Para espaços de trabalho do Grafana compatíveis com o Grafana versão 8.x, consulte [Trabalhar no Grafana versão 8](using-grafana-v8.md).

Títulos de painéis e consultas de métricas podem se referir a variáveis usando duas sintaxes diferentes.
+ `$varname`: esta sintaxe é fácil de ler, mas não permite que você use uma variável no meio de uma palavra.

  **Exemplo**: `apps.frontend.$server.requests.count`
+ `${var_name}`: use esta sintaxe quando quiser usar uma variável no meio de uma expressão.
+ `${var_name:<format>}`: este formato lhe dá mais controle de como o Grafana interpreta valores. Para obter mais informações, consulte *Opções avançadas de formato de variáveis*.
+ `[[varname]]`: não use. Esta sintaxe é antiga e foi descontinuada. Ela será removida em uma versão futura.

Antes de as consultas serem enviadas à fonte de dados, a consulta é *interpolada*, o que significa que a variável é substituída por seu valor atual. Durante a interpolação, o valor da variável pode ser de *escape* para se adequar à sintaxe da linguagem de consulta e onde ela é usada. Por exemplo, uma variável usada em uma expressão regex em uma consulta do InfluxDB ou Prometheus terá escape regex.

**Opções avançadas de formato de variáveis**

A formatação da interpolação de variável depende da fonte de dados, mas há algumas situações em que talvez você queira alterar a formatação padrão.

Por exemplo, o padrão para a fonte de dados MySQL é unir vários valores separados por vírgula com aspas: `'server01','server02'`. Em alguns casos, você pode desejar ter uma string separada por vírgulas sem aspas: `server01,server02`. Você pode fazer isso acontecer com as opções avançadas de formatação de variáveis listadas abaixo.

**Sintaxe geral**

Sintaxe: `${var_name:option}`

Se alguma opção de formatação inválida for especificada, então será `glob` a default/fallback opção.

**CSV**

Formata variáveis com vários valores como uma string separada por vírgulas.

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

**Distribuído - OpenTSDB**

Formata variáveis com vários valores em formato personalizado para OpenTSDB.

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

**Doublequote**

Formata variáveis de valor único e vários valores em uma string separada por vírgula, faz o escape de `"` em cada valor por `\"` e cita cada valor com `"`.

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

**Glob - Graphite**

Formata variáveis com vários valores em um glob (para consultas do Graphite).

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

**JSON**

Formata variáveis com vários valores como uma string separada por vírgulas.

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

**Lucene - Elasticsearch**

Formata variáveis com vários valores no formato Lucene para Elasticsearch.

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

**Percentencode**

Formata variáveis de valor único e de vários valores para uso em parâmetros de URL.

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

**Barra vertical**

Formata variáveis com vários valores como uma string separada por barras verticais.

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

**Bruto**

Desativa a formatação específica da fonte de dados, como aspas simples em uma consulta SQL.

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

**Regex**

Formata variáveis com vários valores como uma string regex.

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

**Singlequote**

Formata variáveis de valor único e vários valores em uma string separada por vírgula, faz o escape de `'` em cada valor por `\'` e cita cada valor com `'`.

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

**Sqlstring**

Formata variáveis de valor único e vários valores em uma string separada por vírgula, faz o escape de `'` em cada valor por `''` e cita cada valor com `'`.

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

**Texto**

Formata variáveis de valor único e de vários valores em sua representação de texto. Para uma única variável, ele retornará apenas a representação do texto. Para variáveis de vários valores, ele retornará a representação de texto combinada com `+`.

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

**Parâmetros de consulta**

Formata variáveis de valor único e de vários valores como a representação de parâmetro de consulta. Exemplo: `var-foo=value1&var-foo=value2`

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