使用bigquery表GET api获取表的最后修改日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用bigquery表GET api获取表的最后修改日期相关的知识,希望对你有一定的参考价值。

我试图使用bigquery REST API获取表及其last_modified_date的列表。 在bigquery API资源管理器中,我正确地获取了所有字段,但是当我使用Python代码中的api时,它会在修改日期返回“None”。 这是python中为此编写的代码

from google.cloud import bigquery
client = bigquery.Client(project='temp')
datasets = list(client.list_datasets())

for dataset in datasets:
    print dataset.dataset_id

for dataset in datasets:
    for table in dataset.list_tables():
        print table.table_id
        print table.created
        print table.modified

在这段代码中,我正确地创建了日期,但所有表的修改日期都是“无”。

答案

不太确定您使用的是哪个版本的API,但我怀疑latest versions没有使用dataset.list_tables()方法。

尽管如此,这是获取最后修改字段的一种方法,看看这是否适合您(或者让您了解如何获取此数据):

from google.cloud import bigquery
client = bigquery.Client.from_service_account_json('/key.json')

dataset_list = list(client.list_datasets())
for dataset_item in dataset_list:
    dataset = client.get_dataset(dataset_item.reference)
    tables_list = list(client.list_tables(dataset))

    for table_item in tables_list:
        table = client.get_table(table_item.reference)
        print "Table {} last modified: {}".format(
            table.table_id, table.modified)

以上是关于使用bigquery表GET api获取表的最后修改日期的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 API 在 BigQuery 中获取临时表的名称

是否可以使用 python 中的 bigquery API 将数据集中所有表的计数(*)发送到 csv 文件?

使用 python 和 BigQuery API 获取 BigQuery 数据集中的表列表

数据流需要 bigquery.datasets.get 授权视图中基础表的权限

获取 BigQuery 外部表的 GCS 路径元数据

bigquery 表的上次访问日期