Я могу загрузить файл с Storage Admin Role
. Ниже приведен процесс, которому я следовал
1. Создать проект
2. Go в IAM и выберите учетную запись службы
3. Выберите создать учетную запись
4. выберите роль для учетной записи службы
5. Создать ключ
Ниже работает код:
const path = require('path');
const {Storage} = require('@google-cloud/storage');
async function test() {
const serviceKey = path.join(__dirname, './keys.json')
const storageConf = {keyFilename:serviceKey}
const storage = new Storage(storageConf)
const downlaodOptions = {
destination: __dirname+'/test.jpg'
};
try {
let res =await storage
.bucket('storage1232020')
.file('test.jpg')
.download(downlaodOptions);
}
catch(err){
console.log(err)
}
}
test()
Примечание : убедитесь, что
Сервисная учетная запись и корзина созданы в рамках проекта. Например, я создал учетную запись и учетную запись для проекта storage-dem01232020
Вы правильно передаете ключ к коду