如何在Jinja中提取特定字段值?(Dynatrace环境)
解决方案
针对你在Dynatrace中提取特定字段的需求,直接通过列表索引+字典键访问就能实现,不需要用selectattr()(这个方法通常用于访问对象属性,而非字典键,这也是你报错的原因)。
提取单个字段
你的records是包含单个字典的列表,先通过[0]取出列表中的字典元素,再通过键名获取对应值:
- 提取
value字段:
{{ result("execute_dql_query_1")["records"][0]["value"] }}
- 提取
boolean字段:
{{ result("execute_dql_query_1")["records"][0]["boolean"] }}
处理多元素场景(可选)
如果后续records可能包含多个字典元素,要提取所有元素的目标字段,可以用列表推导式:
- 提取所有
value:
{{ [item["value"] for item in result("execute_dql_query_1")["records"]] }}
- 提取所有
boolean:
{{ [item["boolean"] for item in result("execute_dql_query_1")["records"]] }}
Dynatrace的表达式引擎支持这种Python风格的列表、字典操作,上述方式可以直接生效。
内容的提问来源于stack exchange,提问作者djskalakd
相关产品推荐
相关产品推荐

