Отображение метаданных из файлов gcloud bucket w / node.js - PullRequest
0 голосов
/ 10 апреля 2020

Я создал массив файлов моего сегмента gcloud, и я хотел бы знать, как извлечь имя файла и другие метаданные, чтобы отобразить их в моем коде, чтобы получить карту , подобную этой для каждого файла Там есть ? Спасибо за вашу помощь.

приложение. js

router.get('/', async(req, res) => {
  let bucketName = 'bucket-name'

  const storage = Storage();

  const [files] = await storage.bucket(bucketName).getFiles();
  let result = [];
  files.forEach(file => {
    result.push(file.name);
  });
  res.render('views/list.ejs');
  });

1 Ответ

0 голосов
/ 10 апреля 2020

Взгляните на Node.js справочник по клиентской библиотеке (прокрутите немного вниз до «Другой пример» , где вы можете увидеть доступные атрибуты метаданных).

Вы можете получить метаданные объектов следующим образом:

const [files] = await storage.bucket(bucketName).getFiles();
let result = [];
for (const file of files) {
  const [metadata] = await file.getMetadata();
  result.push(metadata);
};

Приведенный выше код будет хранить метаданные объектов (в словарях) в массиве «result». Вот как вы можете получить доступ к метаданным объекта, принадлежащего этому массиву:

let testObjName = result[0].name;
let testObjSize = result[0].size;

console.log(`Object ${testObjName} of ${testObjSize} bytes`);

Т.е. metadata.name даст вам имя объекта, а metadata.size - его размер.

...