Как пройти аутентификацию в Google Cloud API без учетных данных приложения по умолчанию или Cloud SDK?
Я пытаюсь получить доступ к API Google Cloud из функции AWS Lambda, но я не знаю, как аутентифицироваться. Руководство auth в документации Google Cloud (https://cloud.google.com/docs/authentication) хочет, чтобы я загрузил файл учетных данных JSON и использовал учетные данные приложения по умолчанию, но, как уже знает любой, кто использовал размещенные функции, дело в том, что вам не нужно управлять сервером или средой выполнения, поэтому Lambda не дает мне возможности хранить произвольные файлы в среде выполнения кода.
Я могу использовать Cloud SDK локально для получения маркера доступа, но он истекает, поэтому я не могу использовать его в своей функции в качестве постоянного решения.
нет ли способа получить маркер доступа, который я могу использовать бесконечно в своем коде для вызова Google Cloud API? Есть ли другое решение?
1 ответов
Я нашел как жестко учетные данные без необходимости сохранять их в файл JSON. Это было в этой документации здесь:
https://googlecloudplatform.github.io/google-cloud-node/#/docs/language/0.7.0/guides/authentication
Ниже приведен пример, который вызывает API языка.
var language = require('@google-cloud/language')({
projectId: '',
credentials: {
client_email: '',
private_key: '',
}
});
language.detectEntities('Axel Foley is from Detroit').then(function(data) {
var entities = data[0];
var apiResponse = data[1];
});