Учетная запись Google Cloud Service VS.Учетная запись конечного пользователя - PullRequest
0 голосов
/ 15 марта 2019

В настоящее время я изучаю GCP и мне нужно запустить ноутбук Python в экземпляре виртуальной машины.Открывая оболочку своей виртуальной машины, я запускал следующий код:

sudo install python-pip
pip install --upgrade google-api-python-client
pip install --upgrade google-cloud-datastore
gcloud auth application-default login

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

python mynotebook.py

я получаю следующую ошибку:

/home/rnby87/.local/lib/python2.7/site-packages/google/auth/_default.py:66: UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK. We recommend that most server applications use service accounts instead. If your application continues to use end user credentials from Cloud SDK, you might receive a "quota exceeded" or "API not enabled" error. For more information about service accounts, see https://cloud.google.com/docs/authentication/warnings.warn(_CLOUD_SDK_CREDENTIALS_WARNING)

Я запускаю код python из документации Google Cloud SDK (https://cloud.google.com/datastore/docs/datastore-api-tutorial)

from google.cloud import datastore 

def create_client(project_id):
     return datastore.Client(project_id)

Любая помощь очень ценится! Спасибо!

1 Ответ

0 голосов
/ 15 марта 2019

Для Google Cloud SDK и CLI вы должны использовать учетные данные учетной записи службы.

Шаг 1. Создайте учетную запись службы и загрузите

  1. Входв консоль Google Cloud.
  2. Перейдите в раздел IAM & admin -> Учетные записи служб
  3. Нажмите СОЗДАТЬ СЧЕТ ОБСЛУЖИВАНИЯ
  4. Введите имя учетной записи службы и описание учетной записи службы
  5. Нажмите CREATE
  6. . На следующем экране разрешения учетной записи службы выберите роль.
  7. Добавьте нужные роли.
  8. Нажмите ПРОДОЛЖИТЬ
  9. Нажмите Создать ключ
  10. Проверьте переключатель JSON на тип ключа
  11. Сохраните файл json на свой компьютер.
  12. Поскольку вы работаете в ВМ, загрузите в ВМ.

Шаг 2. Настройте gcloud и SDK для использования учетной записи службы.

Вам понадобится адрес электронной почты учетной записи службы (которая также хранится в файле Json) и имя файла учетной записи службы.

Запустите эту команду из оболочки вашей виртуальной машины:

gcloud auth activate-service-account SERVICE_ACCOUNT_EMAIL_ADDRESS --key-file=service_account_filename.json

Шаг 3: Убедитесь, что ваши учетные данные работают:

gcloud auth list

Вы должны увидеть свою учетную запись службы со звездочкой слевастолбец (в котором указывается учетная запись учетной записи).

Примечание. Поскольку вы работаете в экземпляре виртуальной машины Google (GCE), опытный пользователь часто будет использовать учетную запись службы вычислений по умолчанию Compute Engine для учетных данных.Я рекомендую сначала узнать, как использовать файл Json служебной учетной записи.

Шаг 4. Укажите учетную запись службы

Установите переменную среды GOOGLE_APPLICATION_CREDENTIALS, чтобы она указывала на вашу службу.Файл JSON аккаунта.В этом примере измените путь к своему.

Для Linux:

export GOOGLE_APPLICATION_CREDENTIALS="/home/username/[FILE_NAME].json"

Для Windows:

set GOOGLE_APPLICATION_CREDENTIALS="c:\Users\username\[FILE_NAME].json"

Шаг 5: При необходимости укажитеучетная запись службы при создании клиента службы:

from google.cloud import datastore 

def create_client(project_id):
     return datastore.Client(project_id).from_service_account_json('service_account_filename.json')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...