gpt4 book ai didi

python - BigQuery Python API 问题

转载 作者:太空宇宙 更新时间:2023-11-04 02:40:41 24 4
gpt4 key购买 nike

我今天一整天都在尝试为我的一个新项目设置 Python BigQuery API。我经历了整个过程

  1. 创建新项目
  2. 为项目启用计费
  3. 启用 BigQuery API
  4. 创建服务帐户以连接到 BigQuery API

我试试最简单的例子

import os
from google.cloud import bigquery

def main():
# [START bigquery_quickstart]
# Imports the Google Cloud client library

# Instantiates a client
creds = "absolute-path-to-file.json"
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = creds
print(creds)
bigquery_client = bigquery.Client().from_service_account_json(creds)

# The name for the new dataset
dataset_name = 'my_new_dataset'

# Prepares the new dataset
dataset = bigquery_client.dataset(dataset_name)

# Creates the new dataset
dataset.create()

print('Dataset {} created.'.format(dataset.name))
# [END bigquery_quickstart]
if __name__ == '__main__':
main()

得到如下错误

Traceback (most recent call last):
File "prepare-upload.py", line 121, in <module>
main()
File "prepare-upload.py", line 116, in main
dataset.create()
File "//anaconda/envs/tpot/lib/python3.5/site-packages/google/cloud/bigquery/dataset.py", line 431, in create
method='POST', path=path, data=self._build_resource())
File "//anaconda/envs/tpot/lib/python3.5/site-packages/google/cloud/_http.py", line 293, in api_request
raise exceptions.from_http_response(response)
google.cloud.exceptions.Forbidden: 403 POST https://www.googleapis.com/bigquery/v2/projects/kobas-public-datasets-182301/datasets: Access Not Configured. BigQuery API has not been used in project 203593156286 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/bigquery.googleapis.com/overview?project=203593156286 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

API 已启用,我不确定是什么问题。令我感到困惑的是,我对我的其他两个项目进行了相同的处理,并且奏效了。再观察一次。错误提示去

https://console.developers.google.com/apis/api/bigquery.googleapis.com/overview?project=203593156286

但是,这个链接已经过时了,应该是

https://console.developers.google.com/apis/api/bigquery-json.googleapis.com/overview?project=203593156286

谢谢。

最佳答案

尝试像这样的 mb 它会有所帮助(我在 pyhton 2.7 中将它用于身份验证):

os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/path_to_key/xxx.json"

credentials = GoogleCredentials.get_application_default()

bigquery_service = build('bigquery', 'v2', credentials=credentials)

此外,我在您的代码中没有看到 your_project_id 的任何定义。例如,对于我正在使用的查询:

query_response = query_request.query(
projectId=your_project_id,
body=query_data).execute()

关于python - BigQuery Python API 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46626964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com