This is documentation for the next version of Grafana Alloy Documentation. For the latest stable release, go to the latest version.
encoding
The encoding
namespace contains encoding and decoding functions.
encoding.from_base64
The encoding.from_base64
function decodes a RFC4648-compliant Base64-encoded string into the original string.
encoding.from_base64
fails if the provided string argument contains invalid Base64 data.
Example
> encoding.from_base64("dGFuZ2VyaW5l")
tangerine
encoding.from_URLbase64
The encoding.from_URLbase64
function decodes a RFC4648-compliant Base64 URL safe encoded string into the original string.
encoding.from_URLbase64
fails if the provided string argument contains invalid Base64 data.
Example
> encoding.from_URLbase64("c3RyaW5nMTIzIT8kKiYoKSctPUB-")
string123!?$*&()'-=@~
encoding.to_base64
The encoding.to_base64
function encodes the original string into RFC4648-compliant Base64 encoded string.
Example
> encoding.to_base64("string123!?$*&()'-=@~")
c3RyaW5nMTIzIT8kKiYoKSctPUB+
encoding.to_URLbase64
The encoding.to_base64
function encodes the original string into RFC4648-compliant URL safe Base64 encoded string.
Example
> encoding.to_URLbase64("string123!?$*&()'-=@~")
c3RyaW5nMTIzIT8kKiYoKSctPUB-
encoding.to_json
The encoding.to_json
function encodes the map into a JSON string.
encoding.to_json
fails if the input argument provided can’t be parsed as a JSON string.
A common use case for encoding.to_json
is to encode a configuration of component which is expected to be a JSON string.
For example, config
argument of
prometheus.exporter.blackbox
.
Examples
> encoding.to_json({"modules"={"http_2xx"={"prober"="http","timeout"="5s","http"={"headers"={"Authorization"=sys.env("TEST_VAR")}}}}})
"{\"modules\":{\"http_2xx\":{\"http\":{\"headers\":{\"Authorization\":\"Hello!\"}},\"prober\":\"http\",\"timeout\":\"5s\"}}}"
encoding.from_json
The encoding.from_json
function decodes a string representing JSON into an Alloy value.
encoding.from_json
fails if the string argument provided can’t be parsed as JSON.
A common use case of encoding.from_json
is to decode the output of a
local.file
component to an Alloy value.
Note
Remember to escape double quotes when passing JSON string literals to
encoding.from_json
.For example, the JSON value
{"key": "value"}
is properly represented by the string"{\"key\": \"value\"}"
.
Examples
> encoding.from_json("15")
15
> encoding.from_json("[1, 2, 3]")
[1, 2, 3]
> encoding.from_json("null")
null
> encoding.from_json("{\"key\": \"value\"}")
{
key = "value",
}
> encoding.from_json(local.file.some_file.content)
"Hello, world!"
encoding.from_yaml
The encoding.from_yaml
function decodes a string representing YAML into an Alloy value.
encoding.from_yaml
fails if the string argument provided can’t be parsed as YAML.
A common use case of encoding.from_yaml
is to decode the output of a
local.file
component to an Alloy value.
Note
Remember to escape double quotes when passing YAML string literals to
encoding.from_yaml
.For example, the YAML value
key: "value"
is properly represented by the string"key: \"value\""
.
Examples
> encoding.from_yaml("15")
15
> encoding.from_yaml("[1, 2, 3]")
[1, 2, 3]
> encoding.from_yaml("null")
null
> encoding.from_yaml("key: value")
{
key = "value",
}
> encoding.from_yaml(local.file.some_file.content)
"Hello, world!"