AWS S3 поиск файлов по имени - PullRequest
0 голосов
/ 29 апреля 2020

Я действительно удивлен, что нет простого способа просканировать все файлы в S3 с помощью aws-sdk пакета узла и найти какой-либо файл по его имени или регулярному выражению.

Вот пример папки структура:

- mainDirectory

    - directoryOne
        (...)
        - file1.png
        - file2.png
        (...)

    - directoryTwo
        (...)
        - file11.png
        - file22.png
        ( ...)

    - directoryThree
        (...)
        - file111.png
        - file222.png
        (...)

Есть ли возможность использовать Delimiter или Prefix таким образом для вывода списка файлов из КАЖДОГО каталога с именем file(...)?

Попробовал это:

const params = {
    Bucket: process.env.AWS_S3_BUCKET,
    Delimiter: '/',
    Prefix: 'file'
};

1 Ответ

1 голос
/ 29 апреля 2020

Нет, префикс в списке api используется для сопоставления ключей объектов, начиная с начала, а не относительно части ключа.

Если у вас огромное количество объектов и время не имеет значения для вас, тогда я рекомендую настроить инвентарь S3 для создания ежедневного отчета об инвентаризации. Затем вы можете обработать его с помощью Athena с некоторыми SQL запросами.

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

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