Download/Upload 文件从 AzureBlob 到 Nodejs 服务器

Download/Upload file from AzureBlob to Nodejs server

我想从 Azure blob 存储下载一个文件到 Nodejs 服务器文件系统,在 Nodejs 端对该文件做一些处理,然后从文件系统再次上传文件的更新副本到 Blob 存储。

请推荐一些 way/or 任何人都实施过相同的方法。

谢谢:)

正在使用 Node.js 下载 Blob:

  • getBlobToFile - 将 blob 内容写入文件
  • getBlobToStream - 将 blob 内容写入流
  • getBlobToText - 将 blob 内容写入字符串
  • createReadStream - 提供从 blob 中读取的流

以下示例演示了如何使用 getBlobToStream 下载 myblob blob 的内容并使用流将其存储到 output.txt 文件:

var fs = require('fs');
blobSvc.getBlobToStream('mycontainer', 'myblob', fs.createWriteStream('output.txt'), function(error, result, response){
  if(!error){
    // blob retrieved
  }
});

上传文件

如何:将 blob 上传到容器中

Blob 可以是基于块的,也可以是基于页的。块 blob 允许您更高效地上传大数据,而页面 blob 针对 read/write 操作进行了优化。有关详细信息,请参阅了解块 blob 和页 blob。

块 blob

要将数据上传到块 blob,请使用以下命令:

  • createBlockBlobFromLocalFile - 创建一个新的块 blob 并上传文件的内容。
  • createBlockBlobFromStream - 创建一个新的块 blob 并上传流的内容。
  • createBlockBlobFromText - 创建一个新的块 blob 并上传字符串的内容。
  • createWriteStreamToBlockBlob - 为块 blob 提供写入流。

以下示例将 test.txt 文件的内容上传到 myblob。

blobSvc.createBlockBlobFromLocalFile('mycontainer', 'myblob', 'test.txt', function(error, result, response){
  if(!error){
    // file uploaded
  }
});