#node.js #amazon-s3 #aws-sdk #amazon-s3-bucket
Вопрос:
Мне нужно создать скрипт Nodejs для выполнения синхронизации S3 из корзины в корзину. Я не хочу запускать это, когда файл только что загружен в главный S3, поэтому я думаю, что лямбда-это не вариант. Мне нужно выполнять задачу ежедневно один раз в определенное время.
Как я могу добиться синхронизации корзины S3 с помощью NodeJS с помощью aws-sdk?
Cron можно использовать для планирования. Я нашел только код aws-sdk для копирования с S3 на другой S3. Есть ли у нас код для синхронизации двух сегментов S3?
Комментарии:
1. Похоже, вы хотите выполнить задание cron. Существует пакет для node, чтобы реализовать это (node-cron)
2. обратитесь к cron
3. Cron можно использовать для планирования. Я нашел только код aws-sdk для копирования с S3 на другой S3. Есть ли у нас код для синхронизации двух сегментов S3?
Ответ №1:
Вам понадобится задание cron, и nodejs предоставляет библиотеку с именем node-cron
let cron = require('node-cron');
cron.schedule('* * * * *', () => {
// TODO
...
});
Для ежедневного cron вы можете использовать что-то вроде
0 0 * * *
Первый 0 указывает минуты, а второй-часы, поэтому этот cron будет запускаться каждый день в полночь.
Ответ №2:
Синхронизация корзины AWS S3 с использованием Nodejs и aws-sdk
может быть выполнена методом пакета s3sync. Если вы используете его с node-cron
, вы сможете реализовать планирование синхронизации корзины AWS S3 с помощью Nodejs.
Я не знаю, поможет ли это, если доступны Cron и aws-cli, цель может быть достигнута без Nodejs. Вы просто добавляете приведенный ниже код в crontab
.
0 0 * * * aws s3 sync s3://bucket-name-1 s3://bucket-name-2