У меня есть программа node.JS, которая читает массив строк из Redis.Мне нужно выгрузить эту строку в мое ведро в AWS s3 в формате GZIP, не создавая файл gzip локально перед загрузкой.
В основном я хочу потоковую передачу прочитанных строк из Redis в сжатый gzip s3 bucket.
В дополнение к вышеупомянутой проблеме, я хотел бы знать, каков эффективный и рекомендуемый способ программирования таким образом, поэтому размер файла, который будет храниться в S3, будет не более 64 МБ, и в этом случаедополнительные данные, создается дополнительный файл (также ограничен до 64 МБ).В приведенном ниже примере я показываю, как я читаю с ключа Redis значение, которое нужно сохранить в пределе s3 gzip до 64 МБ:
client.lrange(key, 0, -1, (error, arrayStringValue) => {
if (arrayStringValue == null || !arrayStringValue.length) {
client.del(key);
return console.log("removing key, no values");
}
if (error) reject(error);
console.log("finish iterating");
impressionsRecorded = true;
//compress
uploadToS3(arrayStringValue, "bucket/key", null);
По сути, мне не хватает правильной реализации uploadToS3 метод