使用JSON格式的服务帐户从BigQuery获取表

2024-08-31 11:32:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要使用JSON格式的服务帐户从数据集中获取表。在

我使用以下代码片段从一个项目中获取了数据集列表:

client = bigquery.Client.from_service_account_json(path)

datasets = list(client.list_datsets())

现在我需要任何特定数据集中所有表的列表。在

我没有权利。在

所以我用的是服务帐户。在


Tags: 数据项目代码fromclientjson列表格式
1条回答
网友
1楼 · 发布于 2024-08-31 11:32:03

我真的不明白你说你使用服务帐户凭据是什么意思,因为你没有IAM权限。但是我假设您有一个JSON编码的服务帐户密钥,该密钥具有访问您想要检索的数据的正确权限。在

在撰写本文时,BigQuery Python Client Librarygoogle.cloud.bigquery的最新版本是0.32.0。在这个版本的库中,可以使用list_tables()函数列出给定数据集中的表。为此,必须将对数据集的引用作为参数传递给该函数。下面我分享一个小的代码示例,其中列出了正在使用的服务帐户可以访问的项目的数据集(及其嵌套表):

from google.cloud import bigquery

client = bigquery.Client.from_service_account_json("/path/to/key.json")

for dataset in client.list_datasets():
    print(" - {}".format(dataset.dataset_id))

    dataset_ref = client.dataset(dataset.dataset_id)
    for table in client.list_tables(dataset_ref):
        print("   - {}".format(table.table_id))

输出如下:

^{pr2}$

您也可以在文档中找到有关Dataset classTable class的更多信息。这里还有general page of the documentation for the BigQuery Python Client Library。在

相关问题 更多 >