Advanced variable format options
For example, the default for the MySql data source is to join multiple values as comma-separated with quotes: . In some cases, you might want to have a comma-separated string without quotes: server01,server02
. You can make that happen with advanced variable formatting options listed below.
Syntax: ${var_name:option}
Test the formatting options on the .
If any invalid formatting option is specified, then glob
is the default/fallback option.
An alternative syntax (that might be deprecated in the future) is [[var_name:option]]
.
CSV
Distributed - OpenTSDB
Formats variables with multiple values in custom format for OpenTSDB.
servers = ['test1', 'test2']
String to interpolate: '${servers:distributed}'
Interpolation result: 'test1,servers=test2'
Doublequote
Formats single- and multi-valued variables into a comma-separated string, escapes "
in each value by \"
and quotes each value with "
.
servers = ['test1', 'test2']
String to interpolate: '${servers:doublequote}'
Interpolation result: '"test1","test2"'
Glob - Graphite
Formats variables with multiple values into a glob (for Graphite queries).
servers = ['test1', 'test2']
Interpolation result: '{test1,test2}'
Formats variables with multiple values as a comma-separated string.
Lucene - Elasticsearch
Formats variables with multiple values in Lucene format for Elasticsearch.
servers = ['test1', 'test2']
String to interpolate: '${servers:lucene}'
Interpolation result: '("test1" OR "test2")'
Percentencode
servers = ['foo()bar BAZ', 'test2']
String to interpolate: '${servers:percentencode}'
Pipe
Formats variables with multiple values into a pipe-separated string.
servers = ['test1.', 'test2']
String to interpolate: '${servers:pipe}'
Interpolation result: 'test1.|test2'
Raw
Turns off data source-specific formatting, such as single quotes in an SQL query.
Formats variables with multiple values into a regex string.
servers = ['test1.', 'test2']
String to interpolate: '${servers:regex}'
Interpolation result: '(test1\.|test2)'
Singlequote
Formats single- and multi-valued variables into a comma-separated string, escapes '
in each value by and quotes each value with '
.
servers = ['test1', 'test2']
String to interpolate: '${servers:singlequote}'
Interpolation result: "'test1','test2'"
Sqlstring
Formats single- and multi-valued variables into a comma-separated string, escapes '
in each value by ''
and quotes each value with '
.
servers = ["test'1", "test2"]
String to interpolate: '${servers:sqlstring}'
Interpolation result: "'test''1','test2'"
Text
Query parameters
Formats single- and multi-valued variables into their query parameter representation. Example: var-foo=value1&var-foo=value2
servers = ["test1", "test2"]
String to interpolate: '${servers:queryparam}'