2017-02-09 3 views
1

Я следующий this instruction написать код питона и подключить его к BigQueryподключение BigQuery непреднамеренного проект

с помощью

gcloud init 

выбрать конкретный счет и проект

и затем Я запускаю этот код:

from gcloud import bigquery 
from gcloud.bigquery import job 
from gcloud.bigquery.table import * 

# Create a new Google BigQuery client using Google Cloud Platform project 
# defaults. 
bq = bigquery.Client() 

Но, похоже, c onnects к неправильному проекту. Как это возможно? Есть ли у кого-нибудь опыт? это ошибка.

Traceback (самый последний вызов последнего): Файл "", строка 1, в Файл "C: \ Python36-32 \ Lib \ сайт-пакеты \ gcloud \ BigQuery \ dataset.py", линия 423, в создании method = 'POST', путь = путь, data = self._build_resource()) Файл «C: \ Python36-32 \ lib \ site-packages \ gcloud \ connection.py», строка 347, в api_request error_info = метод + '' + url) gcloud.exceptions.Forbidden: 403 Биллинг для этого проекта не активирован. Включить выставление счетов за https://console.cloud.google.com/billing. (POST https://www.googleapis.com/bigquery/v2/projects/решающего-октан-142800/наборы данных)

Проект, который я жирный шрифт принадлежит к моему другому счету.

ответ

1

Проект, выбранный в gcloud init, предназначен только для инструмента gcloud cli, а не для библиотеки pclon gcloud. На самом деле эти два являются неродственными (они похожи друг на друга).

Инструкции, которые вам предоставили ссылку, не просят использовать gcloud init.

Вы можете использовать gcloud для управления учетными данными, как описано here.

Таким образом, вместо

bq = bigquery.Client() 

следует указать проекту явно

bq = bigquery.Client(project=YOUR_PROJECT_ID) 

Также можно указать его с помощью других средств, как это выводится этим code, но лучше быть явно, поскольку этот код делает предположения, которые не гарантируются всегда.

+0

Благодарим вас за информацию. Я попробовал 'bq = bigquery.Client (project = YOUR_PROJEC_NAME)' как с моим именем проекта, так и с идентификатором проекта. Ни один из них не работал. Я получил ошибку «недопустимый синтаксис». Есть ли у вас какие-то сведения о том, что мне не хватает? – MFR

+0

Похоже, у вас проблема с синтаксисом python. Я предполагаю, что у вас есть что-то вроде 'bq = bigquery.Client (project = 'my-project-id')' с правильными кавычками и т. Д. ... и да, вы должны использовать id проекта (не имя или номер). – cherba

Смежные вопросы