如何在 x 为空之前保持 运行 相同的 GraphQL 查询?
How to keep running the same GraphQL query until x is null?
我有一个需要分页的 Tableau GraphQL 查询:
test_1 = """
{
fieldsConnection (
first: 10,
orderBy: {field: NAME, direction: ASC}) {
nodes {
name
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
"""
第二次查询:
test_2 = """
{
fieldsConnection (
first: 10,
next: SOME_STRING
orderBy: {field: NAME, direction: ASC}) {
nodes {
name
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
"""
第一个查询将包含 hasNextPage = true
和 endCursor = "huge-ass-string"
。我在服务器中看到的是,要提取所有感兴趣的字段,我需要 运行 查询 13 次!
我想做的是在 Python 中,使用 from tableau_api_lib import TableauServerConnection as tsc
,编写一个 运行 第一个查询 (test_1) 的函数。如果 hasNextPage
为真,则 运行 第二个查询 (test_2) 将 next
值更新为我们从 endCursor
.[=20= 获得的值]
这就是我从查询中获得 JSON 响应的方式:
response = conn.metadata_graphql_query(query = test_1)
这在 Python 中可行吗?
我刚刚在查询中实现了分页并不断循环并将提取的数据存储在 DataFrame 中
我有一个需要分页的 Tableau GraphQL 查询:
test_1 = """
{
fieldsConnection (
first: 10,
orderBy: {field: NAME, direction: ASC}) {
nodes {
name
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
"""
第二次查询:
test_2 = """
{
fieldsConnection (
first: 10,
next: SOME_STRING
orderBy: {field: NAME, direction: ASC}) {
nodes {
name
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
"""
第一个查询将包含 hasNextPage = true
和 endCursor = "huge-ass-string"
。我在服务器中看到的是,要提取所有感兴趣的字段,我需要 运行 查询 13 次!
我想做的是在 Python 中,使用 from tableau_api_lib import TableauServerConnection as tsc
,编写一个 运行 第一个查询 (test_1) 的函数。如果 hasNextPage
为真,则 运行 第二个查询 (test_2) 将 next
值更新为我们从 endCursor
.[=20= 获得的值]
这就是我从查询中获得 JSON 响应的方式:
response = conn.metadata_graphql_query(query = test_1)
这在 Python 中可行吗?
我刚刚在查询中实现了分页并不断循环并将提取的数据存储在 DataFrame 中