ключевой файл клиентской библиотеки google-cloud в формате json

#node.js #google-cloud-platform #google-cloud-storage

# #node.js #google-облачная платформа #google-облачное хранилище

Вопрос:

Я пытаюсь использовать клиентскую библиотеку @google-cloud для аутентификации с использованием учетной записи службы. Есть ли способ передать содержимое ключевого файла как объект JSON, а не путь к файлу? Я не хочу хранить файл ключа на сервере, а использую службу диспетчера секретов, загружаю файл ключа в память и использую его по мере необходимости. Библиотека, похоже, использует только путь к файлу ключа:

 const storage = new Storage({projectId:projectId, keyFilename: keyPath});

 

Ответ №1:

Используйте credentials параметр в конструкторе: storageOptions

 var sa_data = fs.readFileSync(keyPath);
var sa_json = JSON.parse(sa_data)

const storage = new Storage({
  credentials: sa_json
});
 

Комментарии:

1. Спасибо, это то, что мне было нужно.