Как пройти аутентификацию в 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];
});