我正在使用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]
}
}
任何提示?
太感谢了。