在 BigQuery Google Cloud 中获取我所有预定的 SQL 查询

Get all my scheduled SQL queries in BigQuery Google Cloud

我正在尝试通过 BigQuery 中计划查询的命令行 (CLI) 获取 SQL 代码。如果有一种方法可以通过 Google Cloud Platform 用户界面做到这一点,我也很感兴趣。

我已经快速浏览了这个相关的 post,但这不是我要找的答案。

预先感谢您的所有回答。

我找到了如何使用 bq CLI 查询预定查询。你得靠BigQuery Transfer API了。为什么?我不知道,但这是正确的关键字。

要列出您所有的日程查询,请执行此操作(如果需要,请更改您的位置!):

bq ls --transfer_config --transfer_location=eu

# Result
                                             name                                               displayName    dataSourceId     state
 --------------------------------------------------------------------------------------------- ------------- ----------------- -------
  projects/763366003587/locations/europe/transferConfigs/5de1fc66-0000-20f2-bee7-089e082935bc   test          scheduled_query

要查看详细信息,请复制名称并使用 bq show

bq show --transfer_config  \
projects/763366003587/locations/europe/transferConfigs/5de1fc66-0000-20f2-bee7-089e082935bc

# Result
       updateTime            destinationDatasetId   displayName      schedule       datasetRegion          userId                                            scheduleOptions                                       dataSourceId                  
                                                                         params
 ----------------------------- ---------------------- ------------- ----------------- --------------- ---------------------- -------------------------------------------------------------------------------------- ----------------- --------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  2019-11-18T20:20:22.279237Z   bi_data                test          every day 20:19   europe          -7444165337568771239   {u'endTime': u'2019-11-18T21:19:36.528Z', u'startTime': u'2019-11-18T20:19:36.497Z'}   scheduled_query   {u'query': u'
SELECT * FROM `gbl-imt-homerider-basguillaueb.bi_data.device_states`', u'write_disposition': u'WRITE_TRUNCATE', u'destination_table_name_template': u'test_schedule'}

您可以使用 json 格式和 jq 来只获取这样的查询

bq show --format="json" --transfer_config  \
projects/763366003587/locations/europe/transferConfigs/5de1fc66-0000-20f2-bee7-089e082935bc \
 | jq '.params.query'

# Result
"SELECT * FROM `gbl-imt-homerider-basguillaueb.bi_data.device_states`"

如果您愿意,我可以解释我是如何找到这个意想不到的解决方案的,但这不是这里的主题。我认为它没有记录

在 GUI 上更容易。

  • 转到 BigQuery(新 UI,蓝色)
  • 点击左侧菜单中的预定查询

  • 点击您预定的查询名称
  • 点击屏幕顶部的配置