Копирование таблицы BigQuery из одного проекта в другой (они используют другие учетные данные) - PullRequest
0 голосов
/ 30 января 2020

Я хочу скопировать таблицу из SourceProject в DestProject. SourceProject принадлежит пользователю службы, а DestProject принадлежит мне. Я получил учетные данные от пользователя службы для доступа к SourceProject. Как я могу скопировать таблицу из SourceProject в DestProject?

Я проверяю этот вопрос. Экспорт таблицы BigQuery из одного проекта в другой

И я попробовал этот код.

source_client = bigquery.Client(
    credentials=user_credentials,
    project=source_project,
)

dest_client = bigquery.Client(
    credentials=my_credentials,
    project=dest_project,
)

source_dataset = source_client.dataset("source_dataset", project="source_project")
source_table_ref = source_dataset.table("source_table")

dest_dataset = dest_client.dataset("dest_dataset", project="dest_project")
dest_table_ref = dest_dataset.table("dest_table")

job = dest_client.copy_table(
    source_table_ref,
    dest_table_ref,
)  # API request

job.result()

но это не сработало (да, конечно) вернулся к этому сообщению.

google.api_core.exceptions.Forbidden: 403 POST https://bigquery.googleapis.com/bigquery/v2/projects/dest_project/jobs: Access Denied: Dataset source_project:source_dataset: User does not have bigquery.tables.create permission for dataset source_project:source_dataset.

Было бы полезно, если бы вы могли сказать мне хороший способ или альтернативу. спасибо за чтение.

1 Ответ

0 голосов
/ 06 февраля 2020

Ваш код правильный, и вы задаете всю необходимую информацию, такую ​​как Project, Dataset и Table.

Как мы обсуждали в комментариях, проблема этого метода в том, что вы использовали неправильные учетные данные. Чтобы создать новую таблицу в BigQuery, вам необходимо иметь привилегию bigquery.tables.create в данном наборе данных.

Если вам нужна дополнительная поддержка, пожалуйста, дайте мне знать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...