AWS S3 nodejs - Как получить объект по его префиксу - PullRequest
0 голосов
/ 10 марта 2020

Я ищу, как проверить, существует ли объект в моем aws s3 ведре в nodejs без списка всех моих объектов (~ 1500), и проверить префикс объекта, но я не могу найти, как.

Формат такой:

<prefix I want to search>.<random string>/

Пример:

tutturuuu.dhbsfd7z63hd7833u/

1 Ответ

1 голос
/ 10 марта 2020

Поскольку вы не знаете весь объект Key, вам нужно будет выполнить список и отфильтровать по префиксу. AWS nodejs sdk предоставляет такой метод . Вот пример:

s3.listObjectsV2({
  Bucket: 'youBucket',
  MaxKeys: 1,
  Prefix: 'tutturuuu.'
}, function(err, data) {
  if (err) throw err;

  const objectExists = data.Contents.length > 0
  console.log(objectExists);
});

Обратите внимание, что важно использовать MaxKeys, чтобы уменьшить использование сети. Если более одного объекта имеют префикс, вам нужно будет вернуть все и решить, какой вам нужен.

Этот вызов API вернет только метаданные. Получив полный ключ, вы можете использовать getObject для получения содержимого объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...