Если вы находитесь в системе Unix, вы, вероятно, захотите использовать sed
, например, чтобы добавить текст в середину файла:
#!/bin/sh
text="Text to add"
file=data.txt
lines=`wc -l $file | awk '{print $1}'`
middle=`expr $lines / 2`
# If the file has an odd number of lines this script adds the text
# after the middle line. Comment this block out to add before
if [ `expr $lines % 2` -eq 1 ]
then
middle=`expr $middle + 1`
fi
sed -e "${middle}a $text" $file
Примечание: выше пример из здесь .
С NodeJS кажется, что есть некоторые пакеты npm , которые могут помочь, например sed.js или заменить .
S3 не уважает иерархические пространства имен. Каждый блок просто содержит много отображений от ключа до объекта (наряду со связанными метаданными, ACLs и так далее).
Даже при том, что ключ Вашего объекта мог бы содержать '/', S3 рассматривает путь как простую строку и помещает все объекты в плоское пространство имен.
, По моему опыту, операции СПИСКА действительно берут (линейно) дольше, когда число объектов увеличивается, но это - вероятно, признак увеличенного ввода-вывода, требуемого на серверах Amazon, и вниз проводе Вашему клиенту.
Однако времена поиска, кажется, не увеличиваются с числом объектов - это - по всей вероятности своего рода O (1) реализация хеш-таблицы на их конце - также - много объектов в том же блоке должны быть столь же производительными как маленькие блоки для нормального использования (т.е. не СПИСКИ).
Что касается ACL, предоставления могут быть установлены на блоке и на каждом отдельном объекте. Как нет никакой иерархии, они - Ваши только две опции. Очевидно, устанавливая, поскольку много предоставлений всего блока в широком масштабе уменьшат Ваши администраторские головные боли, если Вы будете иметь миллионы файлов, но будете помнить, что можете [только 118] предоставление полномочия, не отменяют их, таким образом, предоставления всего блока должны быть максимальным подмножеством ACL для всего его содержания.
я рекомендовал бы разделить на отдельные блоки для:
Я использую структуру каталогов с корнем тогда по крайней мере один подкаталог. Я часто использую "дату импорта документа" в качестве каталога под корнем. Это может сделать руководящие резервные копии немного легче. Безотносительно файловой системы, которую Вы используете, Вы обязаны поразить предел количества файла (практическое если не физический предел) в конечном счете. Вы могли бы думать о поддержке нескольких корней также.