如何使用storage-file-datalake JS分块并行上传Blob
使用Azure Storage File DataLake JS SDK实现Blob分块并行上传
以下是通过storage-file-datalake JS SDK实现Blob分块并行上传的具体实现方式:
- 初始化DataLakeFileSystemClient实例
先创建客户端实例,作为后续上传操作的基础:
const dataLakeFileSystemClient = new DataLakeFileSystemClient( url, new AnonymousCredential(), customPipeline );
- 调用upload方法实现分块并行上传
通过配置核心参数,实现分块并行上传并实时监听进度:
dataLakeFileSystemClient .upload(blob, { abortSignal: aborter, chunkSize: 4 * 1024 * 1024, // 单个分块大小设置为4MB concurrency: 20, // 并行上传的分块数量 maxSingleShotSize: 100 * 1024 * 1024, // 文件大小超过100MB时自动启用分块上传 maxConcurrency: 20, // 最大并发请求数 onProgress: (ev) => { let percentComplete = ev.loadedBytes / blob.size; let loadedBytes = ev.loadedBytes; emitter({ percentComplete, loadedBytes }); // 向外传递上传进度数据 }, })
关键参数说明
- chunkSize:定义每个上传分块的大小,可根据网络带宽情况调整
- concurrency/maxConcurrency:控制同时上传的分块数量,有效提升大文件的上传速度
- maxSingleShotSize:设置单次上传的最大文件阈值,文件小于等于该值时直接单次上传,超过则自动分块
- abortSignal:用于触发上传取消操作
- onProgress:进度回调函数,可实时获取已上传字节数和完成百分比,用于实现进度展示等功能
内容的提问来源于stack exchange,提问作者satpal sorout
相关产品推荐
相关产品推荐

