Я использую jsonnet для настройки моих панелей в Grafana. Я использую его впервые и мне это очень нравится. Однако мне трудно разобраться в некоторых аспектах.
У меня есть что-то похожее на следующее:
.addTemplate(
template.new(
microservices,
datasource='',
query=std.join(',', std.map(function(x) x.text, service['microservices'])),
label= services,
)
Что я пытаюсь сделать сейчас, это получить с помощью микросервиса, позиция, которую он занимает, чтобы иметь возможность назначить его службе переменных (а затем получить мои пользовательские значения с query = std.join (',', std.map (function (x) x.text), service ['microservices'])), ).
local services = std.extVar('services');
local service = services[x?];
Переменная служба имеет следующий вид:
[
{
// I'm trying to get this array position where my value is
"key": "asd",
"microservices": [
{
"key": "I HAVE THIS VALUE",
"text": "ads"
},
{
"key": "asd",
"text": "ads"
},
{
"key": "asd",
"text": "asd"
}
],
"name": "bca",
"services: [
{
"key": "bca",
"name": "bca"
}
]
},
{
"key": "bca",
"microservices": [
{
"key": "bca",
"text": "bca"
},
{
"key": "bca",
"text": "bca"
}
],
"name": "bca",
"services: [
{
"key": "bca",
"name": "bca"
}
]
},
{
"key": "abc",
"microservices": [
{
"key": "bca",
"text": "bca"
}
],
"name": "abc",
"services: [
{
"key": "ccc",
"name": "ccc"
}
]
}
]
На любом другом языке это мне кажетсяочень простая операция.
var srv type
for x, service := range services{
for _, microservice := range service.microservices{
if microservice.key == "my value"{
srv= services[x]
}
}
Любой совет?
Большое вам спасибо.