В моем Google Облачном хранилище есть gzip-файлы, и я должен проверить контрольную сумму файла, который заархивирован внутри, с помощью Облачных функций .
Я начал работать с примером распаковки из этого примера , но он работает только с файлами ZIP, а не с gzip:
gcsSrcObject.createReadStream()
.pipe(unzipper.Parse())
.pipe(stream.Transform({
objectMode: true,
transform: function (entry, e, callback) {
var filePath = entry.path;
var type = entry.type;
var size = entry.size;
console.log(`Found ${type}: ${filePath}`);
console.log(`Unzipping to: ${TEMP}/${prefix}/${filePath}`)
var gcsDstObject = dstBucket.file(`${TEMP}/${prefix}/${filePath}`);
entry
.pipe(gcsDstObject.createWriteStream())
.on('error', function (err) {
console.log(`Error: ${err}`);
})
.on('finish', function () {
console.log('Complete');
callback();
});
}
}));
Я также прочитал документацию о собственных функциях хранения (gsutil cp), но он позволяет вам только копировать файлы GZIP из локальной копии.