+++
title = "Дополнительные параметры формата переменных"
keywords = ["harvest", "templating", "documentation", "guide", "template", "variable"]
weight = 600
+++

# Расширенные параметры формата переменных

Форматирование переменной интерполяции зависит от источника данных, но в некоторых ситуациях может потребоваться изменить форматирование по умолчанию.

Например, по умолчанию для источника данных MySQL используется объединение нескольких значений через запятую в кавычки: `server01", "server02". В некоторых случаях вам может потребоваться строка, разделенная запятыми, без кавычек: `server01,server02`. Вы можете сделать это с помощью дополнительных параметров форматирования переменных, перечисленных ниже.

## Общий синтаксис

Синтаксис: `${var_name:option}`

Проверьте параметры форматирования на [игровом сайте Harvest](https://play.harvest.org/d/cJtIfcWiz/template-variable-formatting-options?orgId=1 ).

Если указан какой-либо недопустимый параметр форматирования, то `glob` является опцией по умолчанию /резервным вариантом.

Альтернативный синтаксис (который может устареть в будущем) - `[[var_name:option]]`.

## CSV

Форматирует переменные с несколькими значениями в виде строки, разделенной запятыми.

``
серверы bash = ['test1', 'test2']
Строка для интерполяции: '${servers:csv}'
Результат интерполяции: 'тест1,тест2'
```

## Распределенный - OpenTSDB

Форматирует переменные с несколькими значениями в пользовательском формате для OpenTSDB.

``
серверы bash = ['test1', 'test2']
Строка для интерполяции: '${серверы:распределенные}'
Результат интерполяции: 'тест1,серверы=тест2'
```

## Двойная цитата

Форматирует одно- и многозначные переменные в строку, разделенную запятыми, экранирует `"` в каждом значении с помощью `\"` и заключает каждое значение в кавычки с помощью `"`.

``
серверы bash = ['test1', 'test2']
Строка для интерполяции: '${servers:doublequote}'
Результат интерполяции: '"тест1", "тест2"'
```

## Глобус - Графит

Форматирует переменные с несколькими значениями в глобус (для графических запросов).

``удар
серверы = ['test1', 'test2']
Строка для интерполяции: '${servers:glob}'
Результат интерполяции: '{test1,test2}'
```

## JSON

Форматирует переменные с несколькими значениями в виде строки, разделенной запятыми.

``
серверы bash = ['test1', 'test2']
Строка для интерполяции: '${servers:json}'
Результат интерполяции: '["test1", "test2"]'
```

## Lucene - Эластичный поиск

Форматирует переменные с несколькими значениями в формате Lucene для Elasticsearch.

``
серверы bash = ['test1', 'test2']
Строка для интерполяции: '${servers:lucene}'
Результат интерполяции: '("test1" ИЛИ "test2")'
```

## Процентный код

Форматирует однозначные и многозначные переменные для использования в параметрах URL.

``
серверы bash = ['foo()bar BAZ', 'test2']
Строка для интерполяции: '${servers:percentencode}'
Результат интерполяции: 'foo%28%29bar%20BAZ%2Ctest2'
```

## Труба

Форматирует переменные с несколькими значениями в строку, разделенную каналами.

``
серверы bash = ['test1.', 'test2']
Строка для интерполяции: '${servers:pipe}'
Результат интерполяции: 'test1.|test2'
```

## Сырой

Отключает форматирование, зависящее от источника данных, например, одинарные кавычки в SQL-запросе.

``
серверы bash = ['test.1', 'test2']
Строка для интерполяции: '${var_name:raw}'
Результат интерполяции: 'тест.1,тест2'
```

## Регулярное выражение

Форматирует переменные с несколькими значениями в строку регулярного выражения.

``
серверы bash = ['test1.', 'test2']
Строка для интерполяции: '${servers:регулярное выражение}'
Результат интерполяции: '(test1\.|test2)'
```

## Одиночная цитата

Форматирует одно- и многозначные переменные в строку, разделенную запятыми, экранирует `` в каждом значении с помощью "\` и заключает каждое значение в кавычки с помощью "`.

``
серверы bash = ['test1', 'test2']
Строка для интерполяции: '${servers:singlequote}'
Результат интерполяции: "'test1','test2'"
```

## Sqlstring # Строка Sql

Форматирует одно- и многозначные переменные в строку, разделенную запятыми, экранирует `` в каждом значении с помощью `" и заключает каждое значение в кавычки с помощью ``.

``
серверы bash = ["test'1", "test2"]
Строка для интерполяции: '${servers:sqlstring}'
Результат интерполяции: "'тест"1','тест2'"
```

## Текст

Форматирует одно- и многозначные переменные в их текстовое представление. Для одной переменной он просто вернет текстовое представление. Для многозначных переменных он вернет текстовое представление в сочетании с `+`.

``
серверы bash = ["test1", "test2"]
Строка для интерполяции: '${servers:text}'
Результат интерполяции: "тест1 + тест2"
```

## Параметры запроса

Форматирует одно- и многозначные переменные в их представление параметров запроса. Пример: `var-foo=value1&var-foo=value2`

``
серверы bash = ["test1", "test2"]
Строка для интерполяции: '${servers:queryparam}'
Результат интерполяции: "var-servers=test1&var-servers=test2"
```