通过chunks Node.js从Google云存储GCS下载文件

通过chunks Node.js从Google云存储GCS下载文件,node.js,google-cloud-storage,chunks,Node.js,Google Cloud Storage,Chunks,这个想法是按块从GCS下载文件,我想控制块大小。 对于正常的fs.createReadStream()选项应使用高水印。比如说。 但据《每日邮报》报道,对于@googlecloud/storage Bucket.File.createReadStream没有highWaterMark选项。 你知道怎么做吗? 多谢各位 const {Storage} = require('@google-cloud/storage'); const storage = new Storage({keyFilena

这个想法是按块从GCS下载文件,我想控制块大小。 对于正常的fs.createReadStream()选项应使用高水印。比如说。 但据《每日邮报》报道,对于@googlecloud/storage Bucket.File.createReadStream没有highWaterMark选项。 你知道怎么做吗? 多谢各位

const {Storage} = require('@google-cloud/storage');
const storage = new Storage({keyFilename});
    
function downloadStream() {

    async function downloadStream() {
        const fs = require('fs');
        var cnt = 0;

        const file = storage.bucket(bucketName).file(gcDestFileName);
        file.createReadStream({highWaterMark: 16000 })
            .on('data', function (chunk) {
                console.log(">>> " + cnt + " downloadStream() on data: chunk.length: " + chunk.length +
                    " chunk.byteLength: " + chunk.byteLength +
                    " chunk.offset: " + chunk.offset +
                    " chunk.byteOffset: " + chunk.byteOffset + "\n"
                );
            })
            .pipe(fs.createWriteStream(localDestFileName)
            );

        console.log(
            `gs://${bucketName}/${fileName} downloaded to ${localDestFileName}.`
        );
    }

    downloadStream().catch(console.error);
}
Log for file 126,976 bytes:
>>> 1 downloadStream() on data: chunk.length: 502 chunk.byteLength: 502 chunk.offset: 814 chunk.byteOffset: 814
>>> 2 downloadStream() on data: chunk.length: 1316 chunk.byteLength: 1316 chunk.offset: 0 chunk.byteOffset: 0    
...
>>> 96 downloadStream() on data: chunk.length: 1316 chunk.byteLength: 1316 chunk.offset: 0 chunk.byteOffset: 0   
>>> 97 downloadStream() on data: chunk.length: 525 chunk.byteLength: 525 chunk.offset: 0 chunk.byteOffset: 0     

您好,如果您将下载的数据限制在一个字节范围内,它会对您有所帮助吗?