Ошибка разрешения Python bigquery.jobs.create

#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/roles

2. Кажется, что отсутствует плохая роль SA, как уже указывал @BenP. Было бы полезно изолировать вашу проблему, если бы вы могли поделиться сообщением об ошибке (подвергая цензуре любую личную информацию) и дважды проверить bigquery.jobs.create разрешение.