Невозможно записать в bigquery - В доступе отказано: Apache Beam Python - Google Dataflow - PullRequest
0 голосов
/ 07 мая 2018

Я уже давно использую Apache Beam Python SDK, используя облачный сервис передачи данных Google.

Я настраивал поток данных для нового проекта.

конвейер потока данных

  1. Считывает данные из хранилища данных Google
  2. Обрабатывает его
  3. Пишет в Google Big-Query.

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

Сегодня, когда я запустил задание потока данных, конвейер запустился, прочитал данные из хранилища данных, обработал их, и когда он собирался записать их в bigquery, это привело к

apache_beam.runners.dataflow.dataflow_runner.DataflowRuntimeException: 
Dataflow pipeline failed. State: FAILED, Error:
Workflow failed. Causes: S04:read from datastore/GroupByKey/Read+read 
from datastore/GroupByKey/GroupByWindow+read from datastore/Values+read 
from datastore/Flatten+read from datastore/Read+convert to table 
rows+write to bq/NativeWrite failed., BigQuery import job 
"dataflow_job_8287310405217525944" failed., BigQuery creation of import 
job for table "TableABC" in dataset "DatasetABC" in project "devel- 
project-abc" failed., BigQuery execution failed., Error:
Message: Access Denied: Dataset devel-project-abc:DatasetABC: The user 
service-account-number-compute@developer.gserviceaccount.com does not 
have bigquery.tables.create permission for dataset devel-project- 
abc:DatasetABC: HTTP Code: 403

Я убедился, что все необходимые API включены. По моему мнению сервисная учетная запись имеет необходимые разрешения.

Мой вопрос Где это может пойти не так?

Обновление

Из того, что я помню по предыдущим проектам (если быть точным, по 3 различным проектам), я не давал агенту службы потока данных никакого конкретного разрешения. Агент службы вычислительного движка имел разрешения, такие как администратор потока данных, редактор, средство просмотра потока данных. Поэтому прежде чем приступить к предоставлению агенту службы разрешений, связанных с большими запросами, я хотел бы знать, почему среда ведет себя не так, как в предыдущих проектах.

Существуют ли какие-либо изменения / обновления разрешений / политик, которые были введены в действие в последние несколько месяцев, что привело к требованию разрешения автора больших запросов?

Ответы [ 3 ]

0 голосов
/ 19 июня 2018

Вы можете найти возможности для каждой роли для BigQuery здесь . Если в ваших предыдущих проектах использовались роли примитив IAM , то, возможно, вам придется установить их правильно. Примечания к выпуску IAM * Здесь приведена страница 1006 *, в которой содержится дополнительная информация об обновлениях, выполненных в системе.

0 голосов
/ 17 января 2019

Ваш вопрос не ясен !? Если вы спрашиваете Почему поток данных не может записать в BigQuery? , тогда ответ должен быть связан с разрешениями, которые вы дали учетной записи службы, которую вы используете. Проверьте Michael Moursalimov ответ ...

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

0 голосов
/ 07 мая 2018

Пожалуйста, убедитесь, что ваша учетная запись службы ('service-account-number-compute@developer.gserviceaccount.com') имеет роль 'role / bigquery.dataEditor' в 'devel-project-abc: DatasetABC'. Также убедитесь, что роль «BigQuery Data Editor» включена для вашего проекта.

GCP IAM , где вы можете проверить их.

...