我的Google 云存储中有gzip文件,我必须使用 Cloud Functions 检查内部压缩的文件的校验和。
我开始使用解压缩示例from this example,但是它仅适用于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文件。
答案 0 :(得分:0)
请记住,如果您的文件以“ Content-Encoding:gzip”存储在GCS中,则可以透明地动态解压缩它们。 GCS将此称为“转码”