Учебник по облачным потокам данных get Error "Не удалось создать задание рабочего процесса: API потока данных не был ..." - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь пройти курс обучения облачному DataFlow.Я могу запустить его локально, и раньше я мог выполнять его удаленно, но сегодня я начал получать следующую ошибку.

Я запускаю

 mvn compile exec:java \
      -Dexec.mainClass=com.example.WordCount \
      -Dexec.args="--project=list-cleaner\
      --stagingLocation=gs://disismybucket/staging/ \
      --output=gs://disismybucket/output \
      --runner=DataflowRunner"

И получаю следующее -

Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "usageLimits",
    "message" : "Dataflow API has not been used in project 563584335869 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/dataflow.googleapis.com/overview?project=563584335869 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
    "reason" : "accessNotConfigured",
    "extendedHelp" : "https://console.developers.google.com"
  } ],
  "message" : "Dataflow API has not been used in project 563584335869 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/dataflow.googleapis.com/overview?project=563584335869 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
  "status" : "PERMISSION_DENIED"
}

Это, очевидно, проблема с аутентификацией, но я правильно установил свои переменные среды для GOOGLE_APPLICATION_CREDENTIALS и яубедился, что мое имя проекта правильно.Я отключил и снова включил API для этого проекта безрезультатно.Как ни странно, указанный идентификатор проекта не является одним из моих проектов, но это номер проекта, который, похоже, обнаруживается в других вопросах поддержки.Я также попробовал это с Python SDK, но и с этим тоже не повезло.Любая помощь приветствуется.

1 Ответ

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

Так как я боялся, это было что-то действительно простое, и я идиот.Ваши комментарии заставили меня усерднее взглянуть на то, что я делал при настройке GOOGLE_APPLICATION_CREDENTIALS.Я устанавливал его GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json", но я не экспортировал его в глобальную область, т. Е. Экспортировал GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json". Я скажу, что это странное поведение, что вместо выдачи ошибки об отсутствующих учетных данных по умолчанию используется какой-то случайный аккаунт

...