Команда Интерфейс командной строки AWS (CLI) aws s3 sync
скопирует все файлы, которых нет в месте назначения (вроде).
Итак, вам нужно сохранить все ранее загруженные файлы, или вам нужен другой способ отслеживать загруженные файлы.
Вместо этого я бы порекомендовал написать собственную программу, которая:
LastModified
после сохраненной отметки времени Итак, программе нужно будет запомнить последний раз он загружал файлы, но ему не нужно помнить, какие файлы он загружал. Будьте осторожны - S3 хранит время в UTC, поэтому вам нужно будет конвертировать ваши часовые пояса. Или просто запомните самое высокое значение LastModified
загруженных вами файлов.
Чтобы получить список файлов с определенной даты LastModified
, вы можете использовать интерфейс командной строки AWS:
aws s3api list-objects --bucket jstack-a --query "Contents[?LastModified>='2019-04-11'].[Key]" --output text
Однако я бы порекомендовал написать программу на Python для вышеуказанных действий, так как это быть проще, чем писать сценарии командной строки.
У меня есть (вполне) несколько примеров:
Этот довольно прост, но Вид Расчески уносит мой ум немного.
http://en.wikipedia.org/wiki/Comb_sort
Это - такой простой алгоритм по большей части, это читает как чрезмерно сложная пузырьковая сортировка, но это - O (n*Log [n]). Я нахожу это мягко впечатляющим.
Изобилие Алгоритмов для Быстрых преобразований Фурье является впечатляющим также, математика, которая доказывает, их законность является trippy, и это была забава попытаться доказать некоторых самостоятельно.
http://en.wikipedia.org/wiki/Fast_Fourier_transform
Я могу довольно легко понять главное основание, несколько главное основание и смешанные алгоритмы основания, но тот, который работает над наборами, размер которых является главным, довольно прохладен.
Недетерминировано полиномиальная сложность получает мой голос, особенно с (по общему признанию рассмотренный вряд ли) возможность, что это может оказаться тем же как многочленом. В том же духе, что-либо, что может теоретически извлечь выгоду из квантовых вычислений (N.B. этот набор ни в коем случае не является всеми алгоритмами).
Другой, который получил бы мой голос, будут общие математические операции на числах произвольной точности - это - то, где необходимо полагать, что вещи как умножение больших чисел являются более дорогими, чем умножение маленьких. Существует довольно большой анализ этого в Knuth (который не должен быть новостями никому). Метод Karatsuba крут: сократите эти два фактора в половине цифрой (A1; A2) (B1; B2), и умножают A1 B1, A1 B2, A2 B1, A2 B2 отдельно, и затем комбинируют результаты. Рекурсивно вызовите при желании...
2D заказанный поисковый анализ довольно интересен. У Вас есть 2-мерный числовой массив чисел NxN, где каждая строка отсортирована, лево-право и каждый столбец отсортированы сверху вниз. Задача состоит в том, чтобы найти конкретное число в массиве.
Рекурсивный алгоритм: выберите элемент в середине, сравните с целевым числом, отбросьте четверть массива (в зависимости от результата сравнения), подайте заявку рекурсивно к remainig, который 3 четверти довольно интересны проанализировать.
Сортировка по скорлупе. Существует множество вариантов с различными приращениями, большинство из которых не имеют никаких преимуществ, кроме упрощения анализа сложности .