#python #google-bigquery
#python #google-bigquery
Вопрос:
O хочу написать скрипт на python, который загружает данные из файла в таблицу bigquery.
вот код:
from google.cloud import bigquery
client = bigquery.Client(project=project_id, location='US').from_service_account_json('my-key.json')
dataset_ref = client.dataset(dataset_id)
table_ref = dataset_ref.table(table_name)
client.load_table_from_file(filename, table_ref)
Я использую виртуальную машину gcp, созданную в том же проекте, где находится моя таблица bigquery. Я также использую учетную запись службы с ролью администратора Bigquery.
У меня ошибка, в которой говорится, что у пользователя нет bigquery.jobs.create
разрешения.
Я не знаю, полезная ли это информация, но я могу прочитать свою таблицу.
Я не знаю, что делать. Спасибо за вашу помощь.
Комментарии:
1. Привет — похоже, ваша учетная запись службы не имеет правильного уровня разрешений. У администратора BigQuery есть
bigquery.jobs.create
разрешение, поэтому проверьте, действительно ли оно есть в вашей учетной записи службы. Проверьте страницу ролей в GCP, чтобы проверить, какие заголовки имеют какие роли: console.cloud.google.com/iam-admin/roles2. Кажется, что отсутствует плохая роль SA, как уже указывал @BenP. Было бы полезно изолировать вашу проблему, если бы вы могли поделиться сообщением об ошибке (подвергая цензуре любую личную информацию) и дважды проверить
bigquery.jobs.create
разрешение.