Skip to main content
 首页 » 编程设计

python之BigQuery 无效的数据集 ID

2025年05月04日13小虾米


我曾经在 UI 中查询
这次,我在 cloud shell 中,并尝试通过 python 访问我的数据集和表

from google.cloud import bigquery 
 
client = bigquery.Client() 
dataset_id = 'mytest-0001:reports_test' 
table_id = 'test_data' 
dataset_ref = client.dataset(dataset_id) 
dataset = client.get_dataset(dataset_ref) 
table_ref = dataset_ref.table(table_id) 
table = client.get_table(table_ref) 
print('Dataset ID: '.format(dataset_id)) 
print('Description: '.format(dataset.description)) 
print(table.schema) 
print(table.description) 
print(table.num_rows) 

我在下面遇到了一些错误...

google.api_core.exceptions.BadRequest: 400 GET https://www.googleapis.com/bigquery/v2/projects/gcd-my-reporting/datasets/mytest-0001:reports_test: Invalid dataset ID "mytest-0001:reports_test". Dataset IDs must be al phanumeric (plus underscores, dashes, and colons) and must be at most 1024 characters long.

由于某些原因我无法修改数据集 ID,有什么办法可以解决这个问题吗?

请您参考如下方法:

您不必修改dataset id,只需指定dataset id,而不指定project id。如果您出于任何原因想要指定项目,则必须在定义 client 时执行此操作,如 this document 中所述。 .

代码将是:

from google.cloud import bigquery 
 
client = bigquery.Client(project='mytest-0001') 
dataset_id = 'reports_test'