You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用storage-file-datalake JS分块并行上传Blob

使用Azure Storage File DataLake JS SDK实现Blob分块并行上传

以下是通过storage-file-datalake JS SDK实现Blob分块并行上传的具体实现方式:

  1. 初始化DataLakeFileSystemClient实例
    先创建客户端实例,作为后续上传操作的基础:
const dataLakeFileSystemClient = new DataLakeFileSystemClient(
  url,
  new AnonymousCredential(),
  customPipeline
);
  1. 调用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 06:34:58