我需要下载一些特定的元素(图表和表格)从一个looker Jmeter 板编程在python。我目前正在探索LookerSDK 4.0以实现我的用例。
我按照这些示例下载了一个应用了过滤器的 Jmeter 板,并单独下载了一个磁贴。https://github.com/looker-open-source/sdk-codegen/tree/main/examples/python
我尝试通过应用过滤器更新 Jmeter 板,
sdk = looker_sdk.init40("../../looker.ini")
# get dashboard using its id
dashboard = sdk.dashboard(id)
filters = dashboard.dashboard_filters
for filter in filters:
if filter["name"] == "user_id":
filter["default_value"] = "abc"
break
dashboard.dashboard_filters = filters
# gets updated dashboard with filters
dashboard = sdk.update_dashboard(id, dashboard)
然后使用控制面板根据磁贴名称获取磁贴,
title = title.lower()
found = None
for tile in dash.dashboard_elements:
if tile.title.lower() == title:
found = tile
break
然后下载磁贴
task = sdk.create_query_render_task(
query_id=tile.query_id,
result_format=format,
width=600,
height=600
)
# code to poll the render task until it completes
...
...
...
fileName = "test.png"
with open(fileName, "wb") as f:
f.write(result)
当我尝试更新 Jmeter 板过滤器并下载磁贴时,它仍然在下载没有过滤器的磁贴图像。有谁能帮助我理解我们如何才能实现这一目标?
2条答案
按热度按时间ddrv8njm1#
找到了解决我所面临的上述问题的方法。我们需要用特定的过滤器更新 Jmeter 板,然后获取磁贴。
然后,您可以使用更新后的 Jmeter 板对象来获取特定的磁贴。使用create_dashboard_element_render_task而不是create_query_render_task。
t8e9dugd2#
很高兴你已经找到了解决方案。我有一个非常相似的病例。我想问一下我将使用的过滤器是否由用户从UI中确定,以及我是否需要检索过滤器值/或具有更新值的图块。你知道该怎么做吗?