3

Я в настоящее время использую следующую схему именования:Amazon AWS S3 файл стратегия именования для выполнения

/#{bucket_name}/#{customer_name}/fi/le/na/filename.jpg 

Так изображение для файла с именем dsca007.jpg для клиента bent будет храниться здесь:

/images/bent/ds/ca/00/dsca007.jpg 

Но я могу понять, что S3 хочет иметь другую форму:

enter image description here

Источник: http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html

Источник: https://www.youtube.com/watch?v=uXHw0Xae2ww#t=535

Я понимаю, что они хотят, чтобы изменить схему именования на что-то вроде:

/#{bucket_name}/fi/le/na/#{customer_name})filename.jpg 

Но затем он показывает этот слайд в видео YouTube:

enter image description here

Означает ли это, что мой первый подход был в порядке?

Мне очень понравилась первая структура, потому что мне удалось получить список файлов, принадлежащих одному клиенту, есть ли способ перечислить все файлы под клиентом с последней упомянутой схемой именования?

Это было также довольно легко выяснить, сколько памяти каждый клиент использует, выполнив команду:

s3cmd du s3://images/#{customer_name} 

Как я могу это сделать с новой схемой именования?

+0

Является ли ваша рабочая нагрузка более 100 запросов в секунду против Amazon S3? –

+0

На данный момент я просто не хочу менять его, если я попаду в предел. –

ответ

1

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

dsca007.jpg не очень уникален. есть большая вероятность, что файл с тем же именем будет загружен в ваш s3-ведро. В этом случае вы потеряете старый файл или получите ошибку, зависит от вашей конфигурации.

например. это то, что мы используем: https://s3.amazonaws.com/bucket_name/user_media/videos/screenshots/cmXRyLRQxe9R139023426817_vid001.jpeg

где префикс: cmXRyLRQxe9R139023426817_ является самогенерирующейся строкой мы строим и CONCAT исходного имя файла: vid001.jpg перед загрузкой в ​​s3.

+0

Я связался с Крейгом Карлом из Амазонки, который сказал мне, что то, что вы делаете, правильно. –

+0

отлично. 10x. Амит. –

+1

Запуск всех ключей S3 с тем же префиксом, что и «media /», не соответствует рекомендациям AWS по высокому доступу к объему, регулярно масштабируемому более сотни запросов в секунду. Вам необходимо распространять начальные символы префиксов для разных символов. –

Смежные вопросы