Есть ли другой способ инициализации клиентской библиотеки / пакета без использования файла учетной записи службы Google - PullRequest
0 голосов
/ 16 января 2020

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

Как я могу использовать несколько файлов или есть какой-либо способ, с помощью которого я могу инициализировать пакет с идентификаторами & & токены, как мы делаем в целом с SDK

from google.cloud import speech
client = speech.SpeechClient() // can we initialize this client with explicit config
responses = client.streaming_recognize(streaming_config, self.get_requests())

1 Ответ

0 голосов
/ 16 января 2020

Большинство библиотек Google Client поддерживают указание учетных данных, которые вы хотели бы использовать. Обычно это параметр credentials.

Рекомендации:

  • Не используйте переменные среды для учетных данных в вашем случае использования. Укажите учетную запись службы для использования в своем коде. Ваш метод использует AD C (учетные данные приложения по умолчанию). Когда вы перемещаете или публикуете sh ваш код, вы зависите от новой среды.
  • Не указывайте вручную «идентификаторы и токены». Файл ключа учетной записи службы JSON отформатирован для хранения учетных данных.
  • Создание клиентов вручную со всеми необходимыми параметрами. Не полагайтесь на механизмы по умолчанию для настройки вашего проекта / кода.

Клиент для облачного речевого и текстового API

Следующий код является простым Пример использования служебной учетной записи с API речи для текста:

from google.oauth2 import service_account
from google.cloud import speech_v1
from google.cloud.speech_v1 import enums

# Specify the required OAuth Scopes
# https://cloud.google.com/speech-to-text/docs/reference/rest/v1/speech/recognize
SCOPES = ["https://www.googleapis.com/auth/cloud-platform"]

# Specify the desired Google Cloud Service Account JSON key file
SERVICE_ACCOUNT_FILE = '/config/service-account.json'

# Create credentials from the service account
cred = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)

# Create the Google Cloud Speech to Text Client
client = speech_v1.SpeechClient(credentials=cred)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...