我曾经在 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'
