Импортировать данные из BigQuery в облачное хранилище в другом проекте

У меня два проекта под одной учетной записью:

  • projectA с BQ и projectB с облачным хранилищем
  • projectA имеет BQ с набором данных и таблицей - testDataset.testTable.
  • prjectB имеет облачное хранилище и сегмент - testBucket.
  • Я использую python, API Google Cloud Rest
  • учетные данные ключа учетной записи для каждого проекта с разными разрешениями: ключ projectA имеет разрешения только для BQ; projectB имеет разрешения только для облачного хранилища.

Что мне нужно:

импортировать данные из projectA testDataset.testTable в projectB testBucket

Проблемы

  • конечно, я сталкиваюсь с ошибкой Permission denied, когда пытаюсь это сделать, потому что, очевидно, ключ projectA не имеет разрешений для projectB хранение и т. д.
  • еще одна странная проблема, так как у меня есть testBucket в projetB. Я не могу создать ведро с тем же именем в projectA и получить

Это название сегмента уже используется. Имена сегментов должны быть глобально уникальными. Попробуйте другое имя.

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

Что я могу сделать в этом случае?


person Nick Bilozerov    schedule 19.12.2017    source источник


Ответы (1)


Вы неправильно выразились. Вам необходимо предоставить доступ к учетной записи пользователя в обоих проектах, чтобы она была доступна для всех проектов. Таким образом, должен быть пользователь, авторизованный для работы с BQ, а также с GCP в другом проекте.

Также Bucket names must be globally unique это означает, что я тоже не могу создать имя, оно глобальное (для всей планеты вы зарезервировали это имя, а не только для проекта)

person Pentium10    schedule 19.12.2017