繁体   English   中英

如何在 bigquery 中获取计划查询的名称

[英]How to get names of scheduled queries in bigquery

使用 python 客户端连接 bigquery,我们如何获取该项目中存在的所有计划查询的名称?

我尝试跟进此链接 - https://cloud.google.com/bigquery/docs/reference/datatransfer/libraries

但是没有关于预定查询名称的信息。

要使用Python BigQuery Client列出项目的所有计划查询:

def get_scheduled_queries_configs():
    from google.cloud import bigquery_datatransfer

    transfer_client = bigquery_datatransfer.DataTransferServiceClient()

    project_id = "{project_id}"
    parent = transfer_client.common_location_path(project=project_id, location='EU')

    request = bigquery_datatransfer.ListTransferConfigsRequest(
        parent=parent,
        data_source_ids=['scheduled_query']
    )

    configs = transfer_client.list_transfer_configs(request=request)
    print("Got the following configs:")
    for config in configs:
        print(f"\tID: {config.name}, Schedule: {config.schedule}")
        print(f"\tDisplay name: {config.display_name}")

        config_name = config.name
        config_schedule = config.schedule
        config_display_name = config.display_name

    return configs


if __name__ == '__main__':
    scheduled_queries_configs = get_scheduled_queries_configs()

一些解释:

  • 此代码仅通过ListTransferConfigsRequest object 检索计划查询的transfer configs 。在本示例中,该请求采用包含项目和位置EU的父参数。 该请求还采用带有scheduled_query值的data_source_ids参数
  • 该位置很重要,因为如果您的预定查询在美国而您在欧盟执行请求,则结果将为空
  • config.display_name允许检索计划查询的名称

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM