【Azure 存储服务】Azure Blob上传大文件(600MB)出现内存溢出情况(Java SDK)

问题描述

Java 云端开发,调用 blob 上传会产生内存溢出,Java上调用的方式如下:

InputStream inputStream =newBufferedInputStream(new FileInputStream(file));

CloudBlockBlob blob = container.getBlockBlobReference(desBlob);

blob.setStreamWriteSizeInBytes(50*1024);

blob.upload(inputStream, fileLength);


解决问题

本地测试,上传文件60M是可以正常上传,但上传600M会引起内存溢出,而且是必现的。所以猜想是不是SDK的问题呢?在升级Java SDK版本后,问题消失。

升级后的SDK版本为8.3.0

    <dependency>

      <groupId>com.microsoft.azure</groupId>

      <artifactId>azure-storage</artifactId>

      <version>8.3.0</version>

    </dependency>


参考资料

将 blob 上传到容器中https://docs.azure.cn/zh-cn/storage/blobs/storage-quickstart-blobs-java-legacy#upload-blobs-to-the-container

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容