Есть ли способ успешного вызова FindDefaultCredentials с использованием локального движка приложений второго поколения (dev_appserver.py)? - PullRequest
0 голосов
/ 17 ноября 2018

Я занимаюсь разработкой приложения для движка приложения, используя среду выполнения go111.В соответствии с Миграция приложения App Engine с Go 1.9 на Go 1.11 доступ к хранилищу данных должен осуществляться с использованием package datastore .Однако вызов google.FindDefaultCredentials завершается неудачно с «невозможно найти учетные данные по умолчанию».Любые идеи, как получить доступ к хранилищу данных с использованием учетных данных по умолчанию?

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Я только что заработал, используя локальный SDK обработчика приложений, ..

  • Передача параметра командной строки --support_datastore_emulator=true в dev_appserver.py
  • Передача параметра командной строки --datastore_emulator_port=9090 вdev_appserver.py
  • Настройка переменной среды DATASTORE_EMULATOR_HOST до localhost:9090 в app.yaml
  • Настройка переменной среды DATASTORE_PROJECT_ID до my project id в app.yaml

В своем коде Go 1.11 я просто создаю новый клиент cloud.google.com/go/datastore, использующий datastore.NewClient(ctx, ""), который выбирает переменные среды и подключается к эмулятору локального хранилища данных (работает как часть dev_appserver.py).

0 голосов
/ 19 ноября 2018

Установите переменную среды GOOGLE_APPLICATION_CREDENTIALS перед запуском приложения.

Во время выполнения второго поколения, если вы не используете google.golang.org/appengine API, вам не нужно использовать dev_appserver.py -Вы можете создать и запустить свое приложение в обычном режиме (go build и / или go run).

Кроме того, очень редко можно явно передавать учетные данные.cloud.google.com/go API должны все автоматически находить ваши учетные данные для вас.Когда вы работаете локально, установки переменных среды GOOGLE_APPLICATION_CREDENTIALS и GOOGLE_CLOUD_PROJECT должно быть достаточно для запуска.См. https://cloud.google.com/docs/authentication/production#obtaining_credentials_on_app_engine_standard_environment (обратите внимание на комментарий о том, что это необычно).

...