Я пытаюсь получить аутентификацию для использования API перевода Google. В настоящее время на моей локальной машине я просто делаю это:
from google.cloud import translate_v2 as translate
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = path_to_cred_json_file
translate_client = translate.Client()
, который работает отлично. Тем не менее, я sh должен сделать это на AWS, где у меня хранится файл учетных данных json в секретах AWS. В документации для translate.Client
я вижу это:
Init signature:
translate.Client(
target_language='en',
credentials=None,
...
)
...
:type credentials: :class:`~google.auth.credentials.Credentials`
Однако, если я прочитаю в файле json и попытаюсь передать его в качестве аргумента учетных данных, он выдаст ошибку.
Единственный ответ, который у меня есть на данный момент в AWS, - это прочитать секрет, записать его в виде файла json, а затем установить os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = path_to_cred_json_file
, который будет работать, но инженер данных сказал ему, что это защита. риск.
Итак, вопрос в том, как мне получить этот google.auth.credentials.Credentials
объект без чтения физического файла. У меня есть доступ к текстовой версии файла json в памяти (через секреты AWS). Я действительно новичок в AWS в общем, поэтому go легко для меня.